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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2009, 21:39   #1
Сеня
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 16
По умолчанию Тот самый Pascal... Двумерные массивы...

Ребят, надо создать программу, та находила колличество столбцовБгде все элементы положительны.
Сеня вне форума Ответить с цитированием
Старый 28.01.2009, 21:46   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
uses crt;
const m=5; n=6;
var mas : array[1..m,1..n] of integer;
i,j,k : integer;
fl : boolean;
begin
clrscr;
randomize;
for i:=1 to m do
 begin
 for j:=1 to n do
  begin
  mas[i,j] := random(20)-5;
  write(mas[i,j]:4);
  end;
 writeln;
 end;
writeln('------');
k:=0;
for j:=1 to n do
 begin
 fl := true;
 for i:=1 to m do
  if mas[i,j] <=0 then
   begin
   fl := false;
   break;
   end;
 if fl then inc(k);
 end;
writeln('Kolichestvo stolbcov: ',k);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.01.2009, 21:49   #3
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
uses crt;
const n=6;
         l=8;
var x:array[1..n,1..l] of integer;
    i,k,kp,ks:integer;
begin
clrscr;
randomize;
writeln('Matrica X:');
for i:=1 to n do
  begin
     for k:=1 to l do
       begin
         x[i,k]:=random(10)-4;
         write(x[i,k]:4);
       end;
     writeln;
   end;
ks:=0;
for k:=1 to l do //идем по столбцам слева направо
   begin
     kp:=0;
     for i:=1 to n do //идем по строке сверху вниз
     if x[i,k]>0 then kp:=kp+1;//считаем положительные в столбцах
    if kp= n then ks:=ks+1;
   end;

writeln('kol-vo stolb');
write(ks,' ');
readln
end
. как то так
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 28.01.2009, 21:55   #4
Сеня
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 16
По умолчанию

Спасибо, а можно без randomize и ink, ато такого ещё не было...
Сеня вне форума Ответить с цитированием
Старый 28.01.2009, 21:59   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Для моего варианта..Замените
Код:
randomize;
for i:=1 to m do
 begin
 for j:=1 to n do
  begin
  mas[i,j] := random(20)-5;
  write(mas[i,j]:4);
  end;
 writeln;
 end;
на
Код:
for i:=1 to m do
 for j:=1 to n do
  begin
  write('mas[',i,',',j,']= ');
  readln(mas[i,j]);
  end;
А inc(k) замените на k := k + 1
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.01.2009, 22:12   #6
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

var ar:array[1..100,1..100] of integer;
i,j,a,b,c:integer;
f:boolean;
begin
write('1..a, 1..b '); readln(a,b);
for i:=1 to a do
for j:=1 to b do
begin
write(Vvedite ar[,i,',',j,'] ');
readln(ar[i,j]);
end;
for i:=1 to a do
begin
for j:=1 to b do
write(ar[i,j]:3)
writeln
end;
for j:=1 to b do
begin
f:=true;
for I:=1 to a do
if ar[i,j]<0 then f:=false;
if f then c:=c+1
end;
writeln(c,' stolbcov');
readln
end.

Последний раз редактировалось pomoshnic; 28.01.2009 в 23:31.
pomoshnic вне форума Ответить с цитированием
Старый 28.01.2009, 22:36   #7
Сеня
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 16
По умолчанию

Спасибо, ребят, а вот хочу узнать, можно ли это вообще без булеана написать? И ещё, pomoshnik, в твоём варианте выдаёт здесь readln(a[i,j]; ошибку...
Сеня вне форума Ответить с цитированием
Старый 28.01.2009, 22:40   #8
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

readln(a[i,j]); вот так должно быть
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 28.01.2009, 22:42   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Сеня
Цитата:
можно ли это вообще без булеана написать?
В варианте maladoy как раз без него.
Цитата:
выдаёт здесь readln(a[i,j]; ошибку...
опечатка. Исправьте на readln(a[i,j]);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.01.2009, 22:47   #10
Сеня
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 16
По умолчанию

write('a[',i,',',j,']=');
readln(а[i,j]);
Та же хрень, он пишет Error 121: invalid qualifier...
Сеня вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[QBasic|Pascal] двумерные массивы PBJack Помощь студентам 5 06.12.2011 20:39
Двумерные массивы 3 (Pascal) Дима82 Помощь студентам 6 08.06.2008 14:38
Двумерные массивы 2 (Pascal) Дима82 Помощь студентам 3 08.06.2008 09:41
Двумерные массивы (Pascal) Дима82 Помощь студентам 11 07.06.2008 16:54
Pascal двумерные массивы I n n a Паскаль, Turbo Pascal, PascalABC.NET 3 08.05.2008 13:50