Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум Delphi
Восстановить пароль Регистрация

Ответ Создать новую тему
 
17.01.2010, 21:39   #1
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:39
AdAgent
Объявления
17.01.2010, 21:42   #2
Snoopy
Форумчанин
Регистрация: 06.12.2008
Сообщений: 2,810
Репутация: 1907 (1078)
Лучшие ответы: 21
Ошибка: Not enough actual parameters

Данная фраза говорит о том, что Вы не передаете в функцию соответствующих параметров
представьте весь код
Другие темы раздела
Delphi пропадает курсор перестает быть видимым
При программном присвоении: ComboBox1.DroppedDown:=True; пропадает курсор, т.е. перестает быть видимым. unit Unit1; interface uses
Delphi Последовательная проверка/анализ
Привет, ребята! Кто-нибудь разрабатывал программки методами последовательного анализа или проверки?
17.01.2010, 21:44  [ТС]   #3
STL1te
Форумчанин
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Ошибка: Not enough actual parameters

Код 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
Репутация: 1907 (1078)
Лучшие ответы: 21
Ошибка: Not enough actual parameters

еще задание напишите
17.01.2010, 22:07
AdAgent
Объявления
17.01.2010, 22:12  [ТС]   #5
STL1te
Форумчанин
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Ошибка: Not enough actual parameters

уже не надо) разобрался)) заменил на это
Код 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
Ошибка: Not enough actual parameters

Правильнее так:
Код 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
Форумчанин
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Ошибка: Not enough actual parameters

Цитата Сообщение от Страдалецъ Посмотреть сообщение
Правильнее так:
Код 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
Ошибка: Not enough actual parameters

Оригинально. Не использовать встроенные средства языка - это не только неправильно, но и вредно. Одно дело - не знать об этом, другое умышленно избегать этого. В результате вырабатывается привычка постоянно изобретать велосипед и сильно увеличивает время написания кода.
17.01.2010, 22:47  [ТС]   #9
STL1te
Форумчанин
Регистрация: 08.12.2009
Сообщений: 105
Репутация: 5 (4)
Ошибка: Not enough actual parameters

Цитата Сообщение от Страдалецъ Посмотреть сообщение
Оригинально. Не использовать встроенные средства языка - это не только неправильно, но и вредно. Одно дело - не знать об этом, другое умышленно избегать этого. В результате вырабатывается привычка постоянно изобретать велосипед и сильно увеличивает время написания кода.
согласен, но... препод старой закалки и с ней не поспоришь..(
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: Ошибка: Not enough actual parameters
Подскажите в чём ошибка? procedure TForm1.Button5Click(Sender: TObject); begin Button5Click.Caption := 'Деньги: ' + GetBalanceAG(Edit5.Text); end; Добавлено через 13 минут всё, разобрался
Delphi Dosyk 06.09.2013 01:51
Delphi: Ошибка Not enough actual parameters
Помогите разобраться в чем ошибки Unit4.pas(54): Not enough actual parameters Unit4.pas(59): ';' expected but '.' found Unit4.pas(61): Declaration expected but end of file found unit Unit4; interface uses
Delphi для начинающих Алексей48 14.06.2013 23:18
Delphi: Ошибка: Not enough actual parameters
при компиляции выдаёт ошибку "Not enough actual parameters" в функции перед x, подскажите как исправить вот код функции P:= ((exp(x/l)) + (exp((-x)/l)))/ (power((sqrt(x-1)) + (sqrt(y-1)) + sqr(L)),1\4);
Delphi для начинающих yana_holiday 15.12.2012 21:40
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 ругается. Говорит ошибку...
Delphi для начинающих leejack 09.06.2012 00:35
Delphi: ошибка Not enough actual parameters
выскакивает ошибка Not enough actual parameters в конце при вызове функции Vopros. Подскажите как можно єто исправить, а то у меня что то не получается((( вот код unit qwer; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...
Delphi murmi 18.10.2011 09:16
Опции темы

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

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