|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2010, 19:13 | #1 |
Регистрация: 07.06.2010
Сообщений: 9
|
Pascal, Массивы
Задача имеет следующее содержание:
Определить номера тех строк целочисленной матрицы А[N,K], которые совпадают с массивом D[K]. Если таких строк нет, выдать соответствующее сообщение. Вот что у меня есть: Program primer; Uses crt; Const L=5; M=7; Var K, N: integer; D: Array [1..L] of real; A: Array [1..M,1..L] of real; Begin Clrscr; For K:=1 to L do Begin Write (‘D[‘, K, ‘]=’); Read (D[K]); End; For N:=1 to M do For K:=1 to L do Begin Write (‘A[‘, N, K, ‘]=’); Read (A[N,K]); End; For N:=1 to M do If A[N,K]=D[K] then writeln (‘N=’, N) Else writeln (‘Net covpadeniy’); Readkey; End. Помогите разобраться с последним циклом....Моя программа выдаёт почему-то неправильный результат..(((( |
07.06.2010, 19:37 | #2 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 192
|
попробуй так...
Program primer; Uses crt; Const L=5; M=7; Var K, N: integer; D: Array [1..L] of real; A: Array [1..M,1..L] of real; f:boolean; Begin Clrscr; For K:=1 to L do Begin Write (‘D[‘, K, ‘]=’); Read (D[K]); End; For N:=1 to M do For K:=1 to L do Begin Write (‘A[‘, N, K, ‘]=’); Read (A[N,K]); End; For N:=1 to M do begin k:=1; while k<=l do begin If A[N,K]=D[K] then f:=true Else begin f:=false; k:=l; end; k++; end; if f=true then writeln (‘N=’, N); end; Readkey; End. |
07.06.2010, 19:47 | #3 |
Регистрация: 07.06.2010
Сообщений: 9
|
k++;
А что значит эта строчка?? Я программу ввожу,запускаю,ввожу все цифры...И когда программа должна дать результат,она просто зависает!((( |
07.06.2010, 20:08 | #4 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 192
|
вместо K++ запиши k:=k+1
и посмотри так ли ты записала что выделена жирным while k<=L do begin If A[N,K]=D[K] then f:=true Else begin f:=false; k:=L; |
07.06.2010, 20:24 | #5 |
Регистрация: 07.06.2010
Сообщений: 9
|
Круто!)))Получилось)))))
Спасибо большое!))) Только можно несколько вопросов задать,а то моей преподовательнице нужно всё по строчкам объяснять!((( 1. Что означает эта сточка: f:boolean; 2. Почему взяли именно while? Что бы программа проверяла каждый элемент строки,да? Последний раз редактировалось Nastik; 07.06.2010 в 20:28. |
07.06.2010, 20:38 | #6 |
Форумчанин
Регистрация: 27.05.2009
Сообщений: 192
|
f:boolean; означает что мы задаем переменную логического типа..
ты наверное заметила что она принимает только значение true(да) или false(нет). while использовали чтобы программа проверяла каждый элемент строки, но если встречала элементы в строке не совпадающие с элементом массива D[K], то сразуже переходила на проверку другой строки |
07.06.2010, 20:44 | #7 |
Регистрация: 07.06.2010
Сообщений: 9
|
Всё,поняла я!!
Спасибо ещё раз большое!!))) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы в Pascal | Шахрия | Помощь студентам | 2 | 13.10.2009 20:01 |
массивы Pascal | -ushёl- | Помощь студентам | 3 | 23.03.2009 06:45 |
Pascal/Массивы | ромка) | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 14.06.2008 18:29 |
Pascal. Массивы | Danilyuk | Помощь студентам | 1 | 22.01.2008 19:56 |