Математика


 Правила(обновени на 11.05.2008)   Търсене   Потребители   Потребителски групи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 


Не е нужно да се регистрирате!

Паскал - грешка при исвеждането на процедурите Error


 
Създайте нова тема   Напишете отговор    Информатика Форуми -> Delphi(Pascal)
Предишната тема :: Следващата тема  
Автор Съобщение
Mortos



Регистриран на: 12 Oct 2008
Мнения: 5


МнениеПуснато на: Sat Nov 22, 2008 4:24 pm    Заглавие: Паскал - грешка при исвеждането на процедурите Error Отговорете с цитат

Да се състави програма за обработка на масиви D[G,G], E[O,O] и F[W,W] където данните са реални числа в интервала [- 1000 - 1000], съответните подпрограми да извършват следните действия:
- въвеждане на входните данни
- отпечатване на входните данни
- а) да се образува едномерен масив С, елемените на който са елементите от масива А намиращи се под главния диагонал.
б) Получения масив да се сортира по големина.
- отпечатване на получените резултати след обработка a) и обработка б).


Ето и решението ми, което дава грешка


Код:
Код:
program zad;
const MAX=50;


type MAS=Array[1..Max,1..Max] of real;
     MASC=Array[1..(MAX*(MAX-1)) DIV 2] OF REAL;
var
D,E,F: MAS;
G,O,W: integer;
i,j:integer;
k,m: integer;


procedure avtor;
begin
writeln('Avtor: Grigor Ivanov');
writeln('Fak. No, EMF, ');
writeln;
end;

procedure uslovie;
begin
writeln('Uslovie...');
writeln;
end;

procedure vhod(var x:Mas; var y:integer);
begin
write('Vuvedete broi red i stulbove');
readln(y);
for i:=1 to y do
for j:=1 to y do
repeat
write('[',i:2,',',j:2,']=');
readln(x[i,j]);
until ((x[i,k]>-1000) and (x[i,j]<1000));
end;


Procedure Izhod(x:mas; y:integer);
begin
writeln('Izvejdane na vhodq6ti danni:');
for i:=1 to y do
begin
for j:=1 to y do
write (x[i,j]:6);
writeln;
end;
end;

Procedure Action(x:mas; y:integer; c:masc);
begin
 K:=1;
  FOR I:=2 TO Y DO
    FOR J:=1 TO I-1 DO
      BEGIN
        c[K]:=x[I,J];
        K:=K+1;
      END;

  { SORTIRAME MASIVA "C" }

  FOR I:=2 TO M DO
    BEGIN
      X[I,J]:=C[I];J:=I-1;
      WHILE (X[I,J]<C[J]) AND (J>0) DO
        BEGIN
          c[J+1]:=c[J];
          J:=J-1;
        END;
      c[J+1]:=x[i,j];
    END;

  { IZVEJDAME SORTIRANIQ MASIV }

  WRITELN;
  WRITELN('Sortirani elementi pod glavniq diagonal:');
  FOR I:=1 TO M DO
    WRITE(X[I,J]:2:2);
    readln;
    end;


begin
avtor;
uslovie;
writeln('Rabota s masiva D:');
vhod(D,G);
izhod(D,G);
action(D,G);
readln;
writeln('Rabota s masiv E:');
vhod(E,O);
izhod(E,O);
action(E,O);
readln;
writeln('Rabota s Masiv F:');
vhod(F,W);
izhod(F,W);
action(F,W);
readln
end.



Дава ми грешка при исвеждането на процедурите Error:Wrong Amount Of parameters
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Реклама







Пуснато на:     Заглавие:

Върнете се в началото
admin
Site Admin


Регистриран на: 12 Oct 2005
Мнения: 279
Местожителство: София(Варна)

МнениеПуснато на: Sat Nov 22, 2008 9:42 pm    Заглавие: Отговорете с цитат

Процедурата
Код:
Procedure Action(x:mas; y:integer; c:masc);

Трябва да и подадеш 3 параметъра, а ти и подаваш навсякъде 2
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя Yahoo Messenger ICQ Номер
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Информатика Форуми -> Delphi(Pascal) Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Идете на:  
Можете да пускате нови теми
Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети
You cannot attach files in this forum
Може да сваляте файлове от този форум
Copyright © 2007-2013 math10.com.   изработка на сайт