Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сравнение и присвоение в матрице и последовательности

8.9K
10 мая 2007 года
Newb
9 / / 06.03.2005
пытаюсь сделать программу с процедурой

условие: дана матрица А 5х5 и последовательность B из 5 элементов. Если для каждой строки А сумма ее элементов меньше соответствующего элемента последовательности B, то присвоить всем элементам последовательности значения по правилу b:=s;


вот такой код у меня получился:
Код:
Program Zadanie;
Type matr=array[1..5,1..5] of real;
     posl=array[1..5] of real;
Var a:matr;
    b: posl;
    i,j:integer;
    s:real;
    f1,f2:text;
 
procedure sum(var a:matr; i:integer);
Var j:integer;
    s:real;
begin
  s:=0;
  for j:=1 to 5 do
    s:=s+a[i,j];
end;
 
begin
  assign(f1,'ifile.txt');
  assign(f2,'vfile.txt');
  reset(f1);
  rewrite(f2);
  for i:=1 to 5 do
  for j:=1 to 5 do
    read(f1,a[i,j]);  
  readln(f1);  
  for i:=1 to 5 do  
    read(f1,b);
  for i:=1 to 5 do
     begin
        sum(a,s);
        writeln(f2,' ':25,'results');
        writeln(f2);
        if s<b then
        b:=s;
        writeln(f2,b:4:2);
     end;
close(f1);
close(f2);
end.


выдается type dismatch. не пойму почему... нужно вывести последовательность B в выходной файл...


пожалуйста, подскажите, что исправить, чтобы процедура работала

[COLOR="Red"]для оформления кода используй тэги код и читай правила форума.[/COLOR]
622
10 мая 2007 года
nilbog
507 / / 19.12.2006
ну во первых у вас процедура sum работает и ничего не возвращает
ну а потом зачем вы вызываете sum(a,s); s - у вас real _) - кажется опечатка закралась
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог