Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2011, 22:45   #1
Stefansson
 
Регистрация: 20.01.2011
Сообщений: 6
Вопрос Исправление ошибки 215 в коде

вот собственно код.

Код:
program p20_2;
uses crt;
var
  x: array[1..5, 1..9] of integer;
  y: array[1..17, 1..8] of integer;
  c: array[1..17, 1..9] of integer;
  i, j, s, sum1, sum2: integer;

function SumE1(i1, j1: integer): integer;
var i, j, sum: integer;
begin
  sum := 0;
  if i1 = 5 then
    for i := 1 to i1 do
      for j := 1 to j1 do
        if x[i, j] < 1 then
          sum := sum + x[i, j]
        else
          for i := 1 to i1 do
            for j := 1 to j1 do
              if y[i, j] < 1 then
                sum := sum + y[i, j];
  SumE1 := sum;
end;

procedure tr(s1, s2: integer; var s: integer);
begin
  if s1 > s2 then
    for i := 1 to 9 do
    begin
      for j := 1 to 5 do
      begin
        c[i, j] := x[j, i];
        write(c[i, j], ' ');
      end;
      writeln;
    end
  else
    for i := 1 to 8 do
    begin
      for j := 1 to 17 do
      begin
        c[i, j] := y[i, j];
        write(c[i, j], ' ');
      end;
      writeln;
    end;
end;

begin
  clrscr;
  randomize;
  for i := 1 to 5 do
  begin
    for j := 1 to 9 do
    begin
      x[i, j] := random(19) - 1;
      write(x[i, j], ' ');
    end;
    writeln;
  end;
  sum1 := SumE1(i, j);
  for i := 1 to 17 do
  begin
    for j := 1 to 8 do
    begin
      y[i, j] := random(21) - 10;
      write(y[i, j], ' ');
    end;
    writeln;
  end;
  sum2 := SumE1(i, j);
  tr(sum1, sum2, s);
  readln;
end.


Мой паскаль не капризный и вроде бы шалить не должен.
а выдает ошибку. может и правда что то не усмотрел?


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.01.2011 в 22:55.
Stefansson вне форума Ответить с цитированием
Старый 20.01.2011, 23:01   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) грубейшая ошибка - после выполнения цикла FOR значение переменной может быть произвольным,
а Вы используете i и j для передачи в качестве параметров... Зачем?!

2) что собственно должна делать программа?

3) Вы вызываете функцию SumE1 до того, как заполнили массив Y - а ведь в функции SumE1, если какой-нибудь элемент массива X меньше 1, к сумме прибавляется сумма отрицаетельных элементов массива Y (причём все они прибавляются столько раз, сколько в массиве X будет элементов меньше единицы.) Это так и задумано?

И ГЛАВНОЕ, В чём ошибка? Запускал под TurboPascal несколько раз - всё работает...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.01.2011, 23:09   #3
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

что он делает), что он должен делать задания напишыте...какая ошибка мы тут не телепаты...
Pein95 вне форума Ответить с цитированием
Старый 20.01.2011, 23:13   #4
Stefansson
 
Регистрация: 20.01.2011
Сообщений: 6
По умолчанию

вот задание.
Для матриц Х(5, 9) и У(17, 8) найти sum1 и sum2 соответственно – суммы элементов, не превышающих 1. Поиск сумм оформить в виде процедуры-функции. Если sum1 > sum2, то с помощью процедуры транспонировать матрицу Х, иначе – матрицу У.

на другом паскале запустилось. но какой то бредовый набор цифр выдал...)

Последний раз редактировалось Stefansson; 20.01.2011 в 23:14. Причина: забыл дописать)
Stefansson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
мелкие Ошибки в коде T@tali Паскаль, Turbo Pascal, PascalABC.NET 10 10.01.2011 21:55
Исправление ошибки Adriana Microsoft Office Access 1 17.10.2010 19:45
исправление ошибок в коде Viola2208 Помощь студентам 0 12.05.2010 00:01
Исправление ошибки bee_uk Общие вопросы C/C++ 1 02.06.2009 13:43
Исправление ошибки в MS VS 2005 NatCa Помощь студентам 6 03.12.2008 18:23