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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 20:59   #1
lilia2121
в раздумьях
Пользователь
 
Аватар для lilia2121
 
Регистрация: 29.03.2010
Сообщений: 25
По умолчанию подредактировать . Двухмерные массивы

Дана матрица А(6,6) Найти число столбцов, в которых положительных элементов больше чем отрицательных. Если таких столбцов больше трёх, заменить все отриц. элементы матрицы на заданное значение Р
Код:
program matr;
uses crt;
var a:array [1..6,1..6] of integer;
    h,p,l,k,i,j:integer;

begin clrscr;randomize;

for i:=1 to 6 do begin
 for j:=1 to 6 do begin
  a[i,j]:=random(30)-4; write(a[i,j]:4); end; writeln; end;
   h:=0;
  for j:=1 to 6 do begin k:=0;l:=0;
   for i:=1 to 6 do begin
    if a[i,j]<0 then inc(k) else inc(l); end;
    if k<l then inc(h);
    write('-',k,' +',l); end;
    writeln;writeln(h);

    if h>3 then begin readln(p);
     for i:=1 to 6 do begin
      for j:=1 to 6 do
        if a[i,j]<0 then a[i,j]:=p;end;end
             else writeln('Stoblcov <3 ');

        for i:=1 to 6 do begin
         for j:=1 to 6 do
         write(a[i,j]:4); writeln; end;
readkey
end.
Вроде всё верно, только прежде чем наращивать на единицу, нужно осуществить отдельный подсчет полож. и отриц. элементов Помогите пожалуйста
lilia2121 вне форума Ответить с цитированием
Старый 16.05.2010, 21:32   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
program matr;
uses
   crt;
var
    a:array [1..6,1..6] of integer;
    h,p,l,k,i,j:integer;
begin
clrscr;
randomize;
for i:=1 to 6 do
begin
 for j:=1 to 6 do
 begin
  a[i,j]:=random(30)-4;
  write(a[i,j]:4);
  end;
  writeln;
  end;
   h:=0;
  for j:=1 to 6 do
  begin
  k:=0;
  l:=0;
   for i:=1 to 6 do
   begin
    if a[i,j]<0 then inc(k) else inc(l);
    end;
    writeln('В столце ',j,'-ом: -',k,' +',l);
    if k<l then inc(h);
    end;
    writeln;
    writeln('Количество столбцов в которых +>-: ',h);
    if h>3 then
    begin
    readln(p);
     for i:=1 to 6 do
     begin
      for j:=1 to 6 do
        if a[i,j]<0 then a[i,j]:=p;
        end;
        end
             else writeln('Stoblcov <3 ');
        for i:=1 to 6 do
        begin
         for j:=1 to 6 do
         write(a[i,j]:4);
         writeln;
         end;
readkey
end.
У вас накопление положительных и отрицательных по каждому столбцу идёт до того как подсчитывается количество столбцов в которых +>-
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 18.05.2010, 09:40   #3
lilia2121
в раздумьях
Пользователь
 
Аватар для lilia2121
 
Регистрация: 29.03.2010
Сообщений: 25
По умолчанию

спасибо огромное *
lilia2121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Двухмерные массивы rus_rock_no_dead Помощь студентам 4 23.05.2010 23:21
Двухмерные массивы lenni Помощь студентам 5 23.05.2010 14:02
C++. Двухмерные массивы. bpystep Помощь студентам 11 23.05.2010 13:49
Двухмерные массивы Sexy girl* Помощь студентам 1 24.12.2009 04:50
Двухмерные массивы (С++) Nattka Помощь студентам 2 04.12.2008 21:15