Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2013, 11:42   #1
Berus
Пользователь
 
Регистрация: 11.10.2012
Сообщений: 11
По умолчанию Из паскаля в делфи

Дан целочисленный вектор А(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.

Последний раз редактировалось Serge_Bliznykov; 21.05.2013 в 13:40.
Berus вне форума Ответить с цитированием
Старый 21.05.2013, 17:50   #2
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Ну у вас и код. Со стринггридом давно не работал.
Код:
procedure Button1Click(Sender:TObject);
cоnst nmax = 100; 
var
  a:array[1..nmax] of real; 
  mx:integer; 
  count:integer; 
  i,n:integer; 
begin 
   Memo1.Lines.Add('n='); 
   n:=StrToInt(Edit1.Text);
   for i:=1 to n do 
       begin 
       Memo1.Lines.Add('[',i,']='); 
       readln(a); // а это уже сам переводи
       end; 
   writeln('BeKTop:'); 
   mx:=1; 
   for i:=1 to n do 
       begin
       if a>=a[mx] then mx:=i; 
       Memo1.Lines.Add(a); 
   end; 
   Memo1.Lines.Add('');
   count:=0; 
   Memo1.Lines.Add('# of Max:',mx,' Value: ',a[mx]); 
   for i:=1 to mx do 
       if a=0 then count:=count+1; 
   Edit2.Text:=IntToStr(count); 
   readln; 
end;
hon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из паскаля в делфи Berus Помощь студентам 4 20.05.2013 13:22
Бросок к горизонту(паскаль+-делфи.(может ли кто помочь сделать с Паскаля АВС на Делфи?) extrimal Помощь студентам 8 24.03.2013 23:51
з паскаля на делфи Sky{Force} Помощь студентам 2 29.05.2012 10:52
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37