Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.06.2008, 20:46
OLesechka300490 OLesechka300490 вне форума
Прохожий
 
Регистрация: 08.06.2008
Сообщения: 1
Репутация: 10
По умолчанию функции

здравствуйте,помогите пожалуйста с задачами.
1.условие:Определите функцию, подсчитывающую сумму N первых элементов целочисленного массива А. N и массив А передать в качестве параметров.
я написала программу,но она не идет,выдает ошибку,когда я обращаюсь к функции,не может предать в качестве параметров массив и целое число((( подскажите пожалуйста,где у меня ошибка-

Код:
function sum(a:mas;n:integer):integer;
var s,i:integer;
begin
for i:=1 to n do s:=s+a[i];
form1.memo1.lines.add(inttostr(s));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a:array of integer;
n,m,i,d,s,j:integer;
c:extended;
begin
n:=strtoint(edit1.Text);
sum(n);
setlength(a,20);
i:=1;
randomize;
while i<>21 do begin
c:=random;
c:=c*100;
d:=round(c);
a[i]:=d;
stringgrid1.cells[0,i]:=inttostr(a[i]);
i:=i+1;
end;
sum(a);
end;

Admin: Пользуемся тегами!

а вторую вообще не знаю как делать: Поля шахматной доски характеризуются записью
Type
Pole=record
Vera,b,c,d,e,f,g,h); {вертикальные координаты}
Hor:1..8; {горизонтальные координаты}
end;

Вывести шахматную доску, пометив крестиками все поля, которые «бьет» ферзь, стоящий на поле с координатами Ver и Hor , и ноликами – остальные поля.

Последний раз редактировалось Admin, 08.06.2008 в 21:00.
Ответить с цитированием
  #2  
Старый 09.06.2008, 08:16
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

По первой задаче:
Код:
function sum(a : array of Integer{; n : integer}):integer;
var s,i:integer;
begin
  //доступ к динамическому массиву с нуля
  for i := 0 to high(a) do s := s + a [i];
  form1.memo1.lines.add(inttostr(s));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a:array of integer;
  n,m,i,d,s,j, c:integer;
//  c:extended;
begin
  n := strtoint(edit1.Text);
//  sum(n); это зачем?
  setlength(a, n);
  i := 1;
  randomize;
  for i := 0 to n-1 do begin
//    c := random(100); 
//    c := c * 100;
//    d := round(c);
    a[i] :=  random(100); //для целых чисел достаточно указать макс. значение
    stringgrid1.cells[0, i] := inttostr(a[i]);
  end;
  sum(a);
  a := nil; //освобожение памяти от ненужного теперь массива
end;
По второй: не понятно куда и в каком виде "вывести шахматную доску".
__________________
Не забывайте делать резервные копии

Последний раз редактировалось san-46, 09.06.2008 в 08:22.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter