Из паскаля в делфи

Общие вопросы: версии и диалекты, синтаксис языка, cтруктуры и типы данных (массивы, строки, списки...), обработка данных и т.д.
Ответить
Berus
Сообщения: 2
Зарегистрирован: 20 май 2013, 12:54

21 май 2013, 11:48

Дан целочисленный вектор А(n). Подсчитать количество нулевых элементов вектора, предшествующих последнему максимальному элементу.

Количество вводится в edit1, матрица должна вводиться в компонент StringGrid1, количество нулевых элементов должно выводиться в Edit2
Что нужно изменить?

Код: Выделить всё

cоnst nmax = 100; 
 var a:array[1..nmax] of real; 
 mx:integer; 
 count:integer; 
 i,n:integer; 
 begin 
 write('n='); 
 readln(n); 
 for i:=1 to n do 
 begin 
 write('[',i,']='); 
 readln(a); 
 end; 
 writeln('BeKTop:'); 
 mx:=1; 
 for i:=1 to n do 
 begin 
 if a>=a[mx] then mx:=i; 
 write(a); 
 end; 
 writeln; 
 count:=0; 
 Writeln('# of Max:',mx,' Value: ',a[mx]); 
 for i:=1 to mx do 
 if a=0 then count:=count+1; 
 writeln('Count of zero before Maximum:',count); 
 readln; 
 end.
[/СODE]
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

22 май 2013, 10:28

Вместо
write('n=');
readln(n);
сделать
n:=strtoint(Edit1.text);
Вместо
writeln('Count of zero before Maximum:',count);
надо
Edit2.text:='Count of zero before Maximum:'+inttostr(count)
И вывод матрицы на экран заменить на
for i:=1 to n do
StringGrid1.Cells[i,1]:=a;
Как-то примерно так, очень давно не сталкивался с Дельфи
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить