Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal]едениц меньше чем нулей.


Автор: Foxxxxxx 10.4.2008, 19:48
Объясните почему у меня программа не правильно работает
№1. 
Дана действительная матрица n на m заполненая цифрами 0 и 1. Определить число строк, в которых едениц меньше чем нулей.

Код

Program df;
    var 
  a:array [1..100,1..100] of integer;
   k:array [1..100] of integer;
   z:array [1..100] of integer;
    i,j,n,m,s: iteger;
  begin
     writeln('введите размерность матрицы'); readln(n,m);
      randomize;
       for i:=1 to m do
       for j:=1 to n do 
     a[i,j]:=random(2);
   for i:=1 to n do
 begin 
writeln;
  for j:=1 to m do
write(a[i,j]:4);
 writeln;
end;
    begin
      for i:=1 to m do
k[i]:=0;
  for i:=1 to m do
for j:=1 to n do
    if a[i,j]=1 then k[i]:=k[i]+1;
end;
begin
  for i:=1 to m do
z[i]:=0;
  for i:=1 to m do
for j:=1 to n do
    if a[i,j]=0 then z[i]:=z[i]+1;
end;
if k[i]<z[i] then s:=s+1;
writeln(s);
readln
end.

Автор: Rodman 10.4.2008, 21:15
Код

program Project2;
uses
  Crt;
var
  a:array [1..100,1..100] of integer;
  k:array [1..100] of integer;
  z:array [1..100] of integer;
  i,j,n,m,s, ii, jj: integer;
begin
  writeln('введите размерность матрицы');
  readln(n,m);
  randomize;
  for i:=1 to m do
    for j:=1 to n do
     a[i,j]:=random(2);
  for i:=1 to n do
  begin
    writeln;
    for j:=1 to m do
      write(a[i,j]:4);
    writeln;
  end;
  s:=0;
  for i:=1 to m do
  begin
    ii:=0;
    jj:=0;
    for j:=1 to n do
      if a[i,j]=1 then
        inc(ii)
      else
        inc(jj);
    if(ii<jj)then
       inc(s);
  end;
  writeln(s);
  readln
end.

Автор: SneG0K 10.4.2008, 21:17
Цитата(Foxxxxxx @  10.4.2008,  18:48 Найти цитируемый пост)
for i:=1 to m do
       for j:=1 to n do 

Хм... Я не вижу место где ты переменным n и m присваиваеш значиния

Автор: Rodman 10.4.2008, 21:19
Цитата(SneG0K @  10.4.2008,  20:17 Найти цитируемый пост)
Хм... Я не вижу место где ты переменным n и m присваиваеш значиния

Цитата(Foxxxxxx @  10.4.2008,  18:48 Найти цитируемый пост)
     writeln('введите размерность матрицы'); readln(n,m);


Автор: SneG0K 10.4.2008, 21:21
Ой... Не заметил=) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)