IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Нужно исправить прогу, Вылетает
Tapych
сообщение 24.05.2007 20:59
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


ДАНО: A(4,4) B(4,4)
Найти в каждом массиве второй с конца элемент, оканчивающийся на 3. Сформировать одномерный массив, состоящий из четных элементов двумерного массива, расположенных после найденного элемента.



PROGRAM OOO;
USES CRT;
TYPE MATR=ARRAY[1..10,1..10] OF INTEGER;
TYPE VECT=ARRAY[1..100] OF INTEGER;
VAR A,B:MATR; A1,B1:VECT; E,F:INTEGER;
PROCEDURE WWOD2(N,M:INTEGER; VAR X:MATR; Q:STRING);
VAR I,J:INTEGER;
BEGIN
WRITELN('VVEDITE MATRITSU ',Q);
FOR I:=1 TO N DO
FOR J:=1 TO M DO
READ(X[I,J]);
END;
PROCEDURE FORM(N,M:INTEGER; X:MATR; VAR Y:VECT; VAR K:INTEGER);
VAR I,J,C,D,S:INTEGER;
BEGIN
K:=1;
S:=0;
FOR I:=N DOWNTO 1 DO BEGIN J:=M;
REPEAT
IF X[I,J] MOD 10=3 THEN
BEGIN
S:=S+1;
C:=I;
D:=J;
END;
J:=J-1;
UNTIL (J=0)OR(S=2);
END;
I:=C;
J:=D;
REPEAT
BEGIN
REPEAT
IF X[I,J] MOD 2=0 THEN BEGIN Y[K]:=X[I,J]; K:=K+1; END;
J:=J+1;
UNTIL J>=M;
END;
N:=N+1
UNTIL I>=N;
END;
PROCEDURE WIWOD(Y:VECT; K:INTEGER);
VAR I:INTEGER;
BEGIN
FOR I:=1 TO (K-1) DO WRITELN(Y[I]);
END;
BEGIN
CLRSCR;
WWOD2(4,4,A,'A');
WWOD2(4,4,B,'B');
FORM(4,4,A,A1,E);
FORM(4,4,B,B1,F);
WIWOD(A1,E);
WIWOD(B1,F);
END.


помогите прогу исправить,паскаль вылетает
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 24.05.2007 21:29
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


у меня не вылетает, а зацикливается...
вот здесь:
REPEAT
BEGIN
REPEAT
IF X[I,J] MOD 2=0 THEN BEGIN Y[K]:=X[I,J]; K:=K+1; END;
J:=J+1;
UNTIL J>=M;
END;
N:=N+1
UNTIL I>=N;

Что ты хотел сказать последним условием? I ведь не изменяется внутри цикла... а N только увеличивается.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tapych
сообщение 24.05.2007 21:37
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Точно...Перепутал - вместо I стал N увеличивать... Спасибо give_rose.gif
Прогу исправил, но одномерный массив формируется неправильно... unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.04.2024 3:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"