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. Исправь название (Правила Форума, п.4, и правила раздела Задачи, п.1) 2. Используй тэги (Правила Форума, п.5, и правила раздела Задачи, п.2) Не сделаешь - тема будет закрыта
S2DenT
2.12.2010 20:08
Цитата(Stellar_light @ 26.11.2010 22:09)
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. скажите правильно ли составлена программа поиска максимального элемента матрицы?она почему то не работает, подскажите что не так?
ну вообще матрицу(массив) лучше вводить процедурой!=)
program massiv;
uses crt;
const n=5;
type mas= array [1..n] of integer;
var a:mas;
i:integer;
max:real;
procedure wwod(var a:mas);
var k:integer;
beginfor k:=1to n dobeginwrite ('[',k,']=');
readln (a[k]);
end;
end;
begin
clrscr;
write ('Введите матрицу');
writeln;
wwod (a);
max:=a[1];
for i:=1to n doif a[i]>max then max:=a[i];
writeln ('Максимальный элеиент матрицы-->',max);
end.
Цитата
const n=5;
5 это число элементов массива. если надо, то можно изменить на свое значение!=)
Гость
2.12.2010 22:18
max:=a[i];
Замени на
max := a[1];
Современная среда бы выдала предупреждение, что переменная i в этом месте может принимать непредсказуемое значение.
S2DenT
2.12.2010 23:27
Цитата(Гость @ 2.12.2010 22:18)
max:=a[i];
Замени на
max := a[1];
Современная среда бы выдала предупреждение, что переменная i в этом месте может принимать непредсказуемое значение.
в данной задаче можно присвоить максимальное значение первому элементу и пограмма автоматически сравнит все значения между собой
так что не обязательно
max := a[1];
можно и
max:=a[i];
Гость
2.12.2010 23:38
> можно и max:=a[i];
Нельзя. Прогони это для массива (5,4,3,2,1).
Гость
2.12.2010 23:40
Я про то, что вместо
max:=a[i]; for i:2 to n do if a[i]>max then begin max:=a[i];
надо написать
max:=a[1]; for i:2 to n do if a[i]>max then begin max:=a[i];
Lapp
2.12.2010 23:51
!
Закрыто. Правила Форума, п.4, и правила раздела Задачи, п.1.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.