Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум Delphi
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 17.01.2010, 21:39   #1
STL1te
Форумчанин
 
Аватар для STL1te
 
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Ошибка: Not enough actual parameters / Delphi

при компиляции выдаёт ошибку "Not enough actual parameters" в функции перед x[i,j], подскажите как исправить
вот код функции
Код Delphi
1
2
3
4
5
6
function sumstr (x:matrix; i,n:integer):integer;
var j:integer;
begin
  for j:=1 to n do
    sumstr:=sumstr+x[i,j];
end;
Старый 17.01.2010, 21:42   #2
Snoopy
Форумчанин
 
Регистрация: 06.12.2008
Сообщений: 2,810
Репутация: 1906 (1077)
Лучшие ответы: 21
Данная фраза говорит о том, что Вы не передаете в функцию соответствующих параметров
представьте весь код
Другие темы раздела Форум программистов Delphi. Программирование в среде Delphi, Kylix, вопросы использования языка программирования Delphi (Object Pascal). Помощь в решении задач.
Delphi пропадает курсор перестает быть видимым
При программном присвоении: ComboBox1.DroppedDown:=True; пропадает курсор, т.е. перестает быть видимым. unit Unit1; interface uses
Delphi Последовательная проверка/анализ
Привет, ребята! Кто-нибудь разрабатывал программки методами последовательного анализа или проверки?
Старый 17.01.2010, 21:44  [ТС]   #3
STL1te
Форумчанин
 
Аватар для STL1te
 
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Код Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
program magic_sqr;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
type
matrix=array[1..100,1..100] of integer;
 
function sumstr (var x:matrix; i,n:integer):integer;
var j:integer;
begin
  for j:=1 to n do
    sumstr:=sumstr+x[i,j];
end;
var i,j,n:integer;
    matr:matrix;
 
procedure Input (n:integer; var x:matrix);
var i,j:integer;
begin
writeln ('Введите элементы массива');
writeln;
for i:=1 to n do
  for j:=1 to n do
    begin
      write ('a[',i,',',j,'] = ');
      readln (x[i,j]);
      writeln;
    end;
end;
 
procedure Output (n:integer; x:matrix);
var i,j:integer;
begin
  writeln ('Исходная матрица');
  writeln;
    for i:=1 to n do
    begin
      for j:=1 to n do
        write (x[i,j],' ');
        writeln
    end;
end;
 
begin
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
  writeln ('Введите n');
  readln (n);
Input (n, matr);
Output (n, matr);
writeln;
for i:=1 to n do
  writeln (sumstr (matr,i,n,));
readln;
end.
Старый 17.01.2010, 22:07   #4
Snoopy
Форумчанин
 
Регистрация: 06.12.2008
Сообщений: 2,810
Репутация: 1906 (1077)
Лучшие ответы: 21
еще задание напишите
Старый 17.01.2010, 22:07
Google
Объявления
Ошибка: Not enough actual parameters / Delphi

Старый 17.01.2010, 22:12  [ТС]   #5
STL1te
Форумчанин
 
Аватар для STL1te
 
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
уже не надо) разобрался)) заменил на это
Код Delphi
1
2
3
4
5
6
7
8
function sumstr (x:matrix; i,n:integer):integer;
var j,res:integer;
begin
res:=0;
  for j:=1 to n do
    res:=res+x[i,j];
  sumstr:=res;
end;
Старый 17.01.2010, 22:31   #6
Страдалецъ
Тимуровец
 
Аватар для Страдалецъ
 
Регистрация: 10.09.2009
Сообщений: 963
Репутация: 440 (284)
Лучшие ответы: 4
Правильнее так:
Код Delphi
1
2
3
4
5
6
7
function sumstr (x:matrix; i,n:integer):integer;
var j: integer;
begin
 Result := 0;
 for j := 1 to n 
 do Result := Result + x[i,j];
end;
Старый 17.01.2010, 22:43  [ТС]   #7
STL1te
Форумчанин
 
Аватар для STL1te
 
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Цитата Сообщение от Страдалецъ Посмотреть сообщение
Правильнее так:
Код Delphi
1
2
3
4
5
6
7
function sumstr (x:matrix; i,n:integer):integer;
var j: integer;
begin
 Result := 0;
 for j := 1 to n 
 do Result := Result + x[i,j];
end;
просто у нас препод не любит такую запись, с Result'ом))

Добавлено через 3 минуты
Цитата Сообщение от Snoopy Посмотреть сообщение
еще задание напишите
задание: над определить является ли заданная матрица магическим квадратом или нет.

Добавлено через 1 минуту
вот готовый код:

Код Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
program magic_sqr;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
type
matrix=array[1..100,1..100] of integer;
 
var i,n:integer;
    matr:matrix;
    IsMagic:boolean;
 
function sumstr (x:matrix; i,n:integer):integer;
var j,res:integer;
begin
res:=0;
  for j:=1 to n do
    res:=res+x[i,j];
  sumstr:=res;
end;
 
function sumcol (x:matrix; j,n:integer):integer;
var i,res:integer;
begin
res:=0;
  for i:=1 to n do
    res:=res+x[i,j];
  sumcol:=res;
end;
 
procedure Input (n:integer; var x:matrix);
var i,j:integer;
begin
writeln;
writeln ('Введите элементы массива');
writeln;
for i:=1 to n do
  for j:=1 to n do
    begin
      write ('a[',i,',',j,'] = ');
      readln (x[i,j]);
      writeln;
    end;
end;
 
procedure Output (n:integer; x:matrix);
var i,j:integer;
begin
  writeln ('Исходная матрица:');
   for i:=1 to n do
    begin
      for j:=1 to n do
        write (x[i,j],' ');
        writeln
    end;
end;
 
begin
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
  writeln ('Введите n');
  readln (n);
Input (n, matr);
Output (n, matr);
writeln;
IsMagic:=false;
for i:=1 to n do
  if sumstr (matr,i,n) = sumcol (matr,i,n) then
    IsMagic:=true
  else break;
if IsMagic then
  writeln ('Квадрат - магический!')
else
  writeln ('Квадрат - не магический!');
readln;
end.
Старый 17.01.2010, 22:46   #8
Страдалецъ
Тимуровец
 
Аватар для Страдалецъ
 
Регистрация: 10.09.2009
Сообщений: 963
Репутация: 440 (284)
Лучшие ответы: 4
Оригинально. Не использовать встроенные средства языка - это не только неправильно, но и вредно. Одно дело - не знать об этом, другое умышленно избегать этого. В результате вырабатывается привычка постоянно изобретать велосипед и сильно увеличивает время написания кода.
Старый 17.01.2010, 22:47  [ТС]   #9
STL1te
Форумчанин
 
Аватар для STL1te
 
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Цитата Сообщение от Страдалецъ Посмотреть сообщение
Оригинально. Не использовать встроенные средства языка - это не только неправильно, но и вредно. Одно дело - не знать об этом, другое умышленно избегать этого. В результате вырабатывается привычка постоянно изобретать велосипед и сильно увеличивает время написания кода.
согласен, но... препод старой закалки и с ней не поспоришь..(
Старый 17.01.2010, 22:47   #10
Страдалецъ
Тимуровец
 
Аватар для Страдалецъ
 
Регистрация: 10.09.2009
Сообщений: 963
Репутация: 440 (284)
Лучшие ответы: 4
Ошибка: Not enough actual parameters / Delphi

Зачем-же вы передаете в качестве параметра массив, если он является у вас глобальной переменной и виден из любой процедуры внутри этого модуля?
Старый 17.01.2010, 22:47
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
Delphi для начинающих Ошибка Too Many actual parameters
Возникла проблемка. Не понимаю. ... function TCheckFileFolder.CopyFile(Path1, Path2 : string): boolean; begin result := true; If not (CopyFile(PChar(Path1), PChar(Path2), false) then result := false; end; ... На функцию CopyFile ругается. Говорит ошибку...
leejack
Delphi Not enough actual parameters
выдает ошибку Unit1.pas(38): Not enough actual parameters к строке a:=strtofloat(form1.StringGrid1.Cells); в чем может быть дело? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids;
jerrald
Delphi E2035 Not enough actual parameters. не могу понять в чем ошибка
не могу понять в чем ошибка Unit1.pas(38): E2035 Not enough actual parameters procedure TForm1.Image1Click(Sender: TObject); var xc, yc, a: integer; t, x, y: real;
Ptitsa
Delphi ошибка Not enough actual parameters
выскакивает ошибка Not enough actual parameters в конце при вызове функции Vopros. Подскажите как можно єто исправить, а то у меня что то не получается((( вот код unit qwer; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...
murmi
Delphi для начинающих Ошибка E2035 Not enough actual parameters
Доброй ночи! Раньше избегал создания своих функций и процедур, но сегодня решил попробовать и как всегда первый блин комом). Вроде бы сделал все верно, но не знаю в чем дело. Результат вроде функция правильный выдает... Как можно исправить сию ошибку? Вот полный код: unit main_game; interface ...
Mr.Wolf72
Опции темы

Текущее время: 07:48. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.