Новые сообщения · Правила  
Страница 1 из 11
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » подскажите
подскажите
Program l;
uses crt;
const
Var a:array[1..n] of itenger;
max,i:integer;
begin
clrscr;
randomize
for i:=1 to n do a[i]:=random;
for i:=1 to n do write(a[i],' ');
writeln;
max:=a[i];
for i:2 to n do if a[i]>max then begin max:=a[i];
end;
writeln('Max= ',max:2,i:2);
readln;
end.
скажите правильно ли составлена программа поиска максимального элемента матрицы?она почему то не работает, подскажите что не так?
1 | Автор: Stellar_light | 2010-11-26, 21:14   |  Репутация: [ + 0 ]
у тебя тут выпадает первый элемент массива
Code
max:=a[i];

на этой строчке значение i у тебя равно n, после завершения предыдущего цикла. можно написать
Code
max:=a[1];

и в этой строке
Code
writeln('Max= ',max:2,i:2);  

i у тебя всегда будет одинаковім и равняться n. если хочешь вывести еще и индекс максимального элемента массива
в присваивании нового макимального элемента в каку то перменную записывай и текущее значение индекса. и числа у тебя целые, мне кажется лучше вывод сделать так:
Code

writeln('Max=', max);
writeln('Max_index=', index);  


If you can't make it GOOD make it LOOK GOOD. B.Gates
2 | Автор: DoVe | 2010-11-26, 23:23   |  Репутация: [ + 48 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » подскажите
Страница 1 из 11
Поиск: