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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 21:45   #1
Karina_Vamp
Пользователь
 
Регистрация: 20.12.2010
Сообщений: 10
По умолчанию Матрицы. Построить вектор надо

Читая матрицу А(MxN) по столбцам, построить вектор В из отрицательных элементов и подсчитать их количество...

Код:
Program zad5;
Uses Crt;
Var a:array[1..10,1..10] of integer;
    b:array[1..10,1..10] of integer;
    m,n,i,j,k:integer;
Begin
ClrScr;
Writeln ('Vvedite A[MxN] M: ');
Readln (m);
Writeln ('Vvedite A[MxN] N: ');
Readln (n);
Begin
for j:=1 to n do
for i:=1 to m do
    if a[i,j]<0 then
       Begin
       k:=k+1;
       b[k]:=a[i,j];
       End;
    Writeln ('Kol. otricatel.: ');
Readkey;
End.

Последний раз редактировалось Stilet; 25.12.2010 в 12:07.
Karina_Vamp вне форума Ответить с цитированием
Старый 24.12.2010, 22:03   #2
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Karina_Vamp Посмотреть сообщение
Читая матрицу А(MxN) по столбцам, построить вектор В из отрицательных элементов и подсчитать их количество...

Program zad5;
Uses Crt;
Var a:array[1..10,1..10] of integer;
b:array[1..10,1..10] of integer;
m,n,i,j,k:integer;
Begin
ClrScr;
Writeln ('Vvedite A[MxN] M: ');
Readln (m);
Writeln ('Vvedite A[MxN] N: ');
Readln (n);
Begin
for j:=1 to n do
for i:=1 to m do
if a[i,j]<0 then
Begin
k:=k+1;
b[k]:=a[i,j];
End;
Writeln ('Kol. otricatel.: ');
Readkey;
End.
Поправьте ..
goto ∞ вне форума Ответить с цитированием
Старый 24.12.2010, 22:06   #3
Karina_Vamp
Пользователь
 
Регистрация: 20.12.2010
Сообщений: 10
По умолчанию

Как поправить? выбивает ошибку...с типами чтот насколько я поняла
Karina_Vamp вне форума Ответить с цитированием
Старый 24.12.2010, 22:08   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
b:array[1..100] of integer;
Код:
k:=0;
for j:=1 to n do
for i:=1 to m do begin
readln(a[i,j]);
if a[i,j]<0 then
Begin
k:=k+1;
b[k]:=a[i,j];
End; end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 24.12.2010, 22:12   #5
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Ну как же так.
Вы объявили двухмерный массив "b[1..10,1..10]"..
и пытаетесь присвоить ему как одномерному массиву "b[k] :=a[i,j]"..
Раз надо построить вектор то надо объявить как одномерный массив
b:array[1..10] of integer;
goto ∞ вне форума Ответить с цитированием
Старый 24.12.2010, 22:25   #6
Karina_Vamp
Пользователь
 
Регистрация: 20.12.2010
Сообщений: 10
По умолчанию

Точно...извините, не вижу я и всё таких мелочей. За это вам спасибо

Может со временем научусь

Не строится вектор теперь...гррр. Вернее что-то строится, только явно не вектор:
Код:
Var a:array[1..10,1..10] of integer;
    b:array[1..100] of integer;
    m,n,i,j,k:integer;
Begin
ClrScr;
Writeln ('Vvedite A[MxN] M: ');
Readln (m);
Writeln ('Vvedite A[MxN] N: ');
Readln (n);

Begin
k:=0;
for j:=1 to n do
for i:=1 to m do
Begin
Writeln ('Vvedite a(',i,',',j,'):=');
Readln (a[i,j]);
    if a[i,j]<0 then
       Begin
       k:=k+1;
       b[k]:=a[i,j];
       End;
       End;
       end;
    Writeln ('Kol. otricatel.: ',k);
    Write ('Vector B(');
    for i:=1 to j do
    Write (b[k],'');
Readkey;
End.

Последний раз редактировалось Stilet; 25.12.2010 в 12:07.
Karina_Vamp вне форума Ответить с цитированием
Старый 25.12.2010, 10:28   #7
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Karina_Vamp Посмотреть сообщение
Не строится вектор теперь...гррр. Вернее что-то строится, только явно не вектор:
Var a:array[1..10,1..10] of integer;
b:array[1..100] of integer;
m,n,i,j,k:integer;
Begin
ClrScr;
Writeln ('Vvedite A[MxN] M: ');
Readln (m);
Writeln ('Vvedite A[MxN] N: ');
Readln (n);

Begin
k:=0;
for j:=1 to n do
for i:=1 to m do
Begin
Writeln ('Vvedite a(',i,',',j,'):=');
Readln (a[i,j]);
if a[i,j]<0 then
Begin
k:=k+1;
b[k]:=a[i,j];
End;
End;
end;
Writeln ('Kol. otricatel.: ',k);
Write ('Vector B(');
for i:=1 to j do
Write (b[k],'');

Readkey;
End.
Вот, вместо отмеченного красным цветом пишите..
Код:
for i := 1 to k do
  Write (b[i],'');
goto ∞ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
умножение матрицы на вектор 13xxx Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2010 22:15
Умножение матрицы на вектор ciaonataha Общие вопросы C/C++ 1 28.04.2009 20:36
Построить логический вектор katya36 Помощь студентам 2 14.03.2009 13:32
Умножение матрицы на вектор Илья Кибель Помощь студентам 5 27.10.2007 11:02