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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2009, 23:14   #1
Striker14
 
Регистрация: 18.02.2009
Сообщений: 7
Восклицание Задача: сформировать новый массив, содержащий номера строк матрицы, имеющих отрицательную сумму элементов

Задача: сформировать новый массив, содержащий номера строк матрицы, имеющих отрицательную сумму элементов.


Код:


Код:
Uses Crt;
Var
n:integer; {число строк}
m:integer; {число столбцов}
A:array[1..6,1..6] of integer; {двумерный массив}
i,j:integer; {координаты элемента массива}
B:array[1..6] of integer; {новый массив}
Kol:integer; {количество элементов в новом массиве}
Sum:integer; {сумма элементов матрицы в отдельно взятой строке}

Begin
     
    Kol:=0;
     For i:=1 to n do
     Begin
     Sum:=0;
      For j:=1 to m do
      Sum:=Sum+A[i,j];
       If Sum<0 then
       Begin
       Kol:=Kol+1;
       B[Kol]=i:
       End
      If Sum>=0 then
       Begin
       i:=i+1;
       End;
       
       End;
     
     If Kol>0 then
     Begin
     Writeln ('в массиве В',Kol,' элементов');
     For i:=1 to Kol do
     Writeln (B[i]);
     End;

     If Kol=0 Then
     Begin
     Writeln ('В новом массиве нет элементов');
     End;
    
     End.


Я тестировал программу разными числами, а программа каждый раз пишет, что в новом массиве нет элементов. Например:
число строк=2
число столбцов=2
A[1,1]=4
A[1,2]=-2
A[2,1]=-5
A[2,2]=1
И после этого программа пишет что в новом массиве нет элементов, хотя должен быть номер 2.
Вывод матрицы сделан правильно, поэтому я его решил сюда не писать.

Помогите пожалуйста исправить) заранее спасибо)
Striker14 вне форума Ответить с цитированием
Старый 23.02.2009, 23:29   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Я тестировал программу разными числами
Эта программа даже не компилируется из-за различных синтаксических ошибок.

Ввода m,n и самого массива вообще не вижу.
Цитата:
Вывод матрицы сделан правильно, поэтому я его решил сюда не писать.
А зря. Если приводите код, то приводите его полностью, чтобы его можно было сразу проверить (скомпилировав).

Не очень-то хочется дописывать самому, чтобы потом еще искать ошибки.

Чтож.. Дописал. Работает.
Код:
Uses Crt;
Var
n:integer; {число строк}
m:integer; {число столбцов}
A:array[1..6,1..6] of integer; {двумерный массив}
i,j:integer; {координаты элемента массива}
B:array[1..6] of integer; {новый массив}
Kol:integer; {количество элементов в новом массиве}
Sum:integer; {сумма элементов матрицы в отдельно взятой строке}

Begin
clrscr;
randomize;
Kol:=0;
n := 3;
m := 3;
for i:=1 to n do
 begin
 for j:=1 to m do
  begin
  A[i,j] := random(10)-3;
  write(A[i,j]:4);
  end;
  writeln;
 end;
 writeln;

For i:=1 to n do
 Begin
 Sum:=0;
 For j:=1 to m do
  Sum:=Sum+A[i,j];
 If Sum<0 then
  Begin
  Kol:=Kol+1;
  B[Kol]:=i;
  End;
 end;


If Kol>0 then
 Begin
 Writeln ('в массиве В  ',Kol,'  элементов');
 For i:=1 to Kol do
  Writeln (B[i]);
 End;

If Kol=0 Then
 Begin
 Writeln ('В новом массиве нет элементов');
 End;
readln;
End.
И еще: для кода есть тег CODE.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с поиском max элементов строк матрицы в Паскале annexion Помощь студентам 4 05.04.2010 10:44
Вычислить сумму элементов матрицы, расположенные на главной диагонали и выше нее MariyaVo Паскаль, Turbo Pascal, PascalABC.NET 9 10.05.2009 21:19
Для заданной квадратной матрицы сформировать одномерный массив из её диагональных элементов Даня Паскаль, Turbo Pascal, PascalABC.NET 13 28.01.2009 16:53
Получить новый одномерный массив В,каждый элемент которого равен мин элементу строк исходной матрицы Artimbulidor Помощь студентам 6 29.12.2008 18:51
Паскаль.Сформировать одномерный массив А из элементов матрицы, кратных трём ICEART Помощь студентам 2 03.10.2007 17:29