Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > вычислить кол-во строк,


Автор: Anonymous 26.4.2006, 14:05
Есть небольшая задачка. Я понимаю, что она простая, но никак не могу додуматься в одном месте. Итак, задача: В двумерном массиве 5 на 6 вычислить кол-во строк, сумма которых больше нуля. 
Код

Programm Zadanie;
var
  A: array [1..5,1..6] of integer;
  F: text;
  i,j,x: ineger;
begin
  assign (F, 'c:\2.txt');
  {$I-}
  reset (F);
  {$I+}
  if IOResult <>0 then
  begin
    write ('file not found');
  end;
  for i:=1 to 5 do
    for j:=1 to 6 do
      read (F, A[i,j]);
      x:=0;

.........а вот дальше никак. Переменная Х - это то, что надо найти (кол-во строк).
Я так понимаю, дальше должно быть два цикла, которые складывают строки и вычисляют, больше нуля сумма или нет, затем
х:=х+1
Помогите с циклами, пожалуйста.
Заранее спасибо   

Автор: sexton 26.4.2006, 16:05
Паскаль смутно помню, вроде так:
Код

var sum, count:integer;
....
count = 0;
for i:=1 to 5 do
begin
   sum = 0;
   for j:=1 to 6 do
       sum = sum + A[i,j]
   if sum > 0 then
       inc(count)
end;
writeln(count);

 

Автор: Anonymous 27.4.2006, 12:50
Код

Program Zadanie;
var
  A: array [1..5,1..6] of integer;
  F: text;
  i,j,x,sum,count: integer;
begin
  assign (F,'c:\2.txt');
  {$I-}
  reset (F);
  {$I+}
  if IOResult <>0 then
  begin
    write ('file not found');
  end;
  for i:=1 to 5 do
    for j:=1 to 6 do
      read (F,A[i,j]);
  x:=0;
  count:=0;
  for i:=1 to 5 do
  begin
    sum;=0;
    for j:=1 to 6 do
      sum:=sum+A[i,j];
    if sum> 0 then
    x:=x+1;
    inc (count);
  end;
  writeln (count);
  writeln ('itog',x);
end.

Не работает....что не так?    

Автор: armageddon 27.4.2006, 16:51
что именно у тебя не идет?
попробуй вместо типа text написать тип string 

Автор: volvo877 27.4.2006, 18:37
armageddon,
и что будет? Assign к строке - как ты ЭТО себе представляешь?  smile   

Автор: Anonymous 28.4.2006, 09:28
А проблема вот в чём: при запуске "программы" ничего не происходит. Совсем ничего. Не выдаёт никаких сообщений, вообще НИЧЕГО. Что такое? Почему это может быть? 

Автор: volvo877 28.4.2006, 10:17
Anonymous, неизвестно. Ибо ТО, что ты привел не только не запустится, но даже не откомпилируется. А телепатов здесь как-то не очень много бывает... 

Автор: Alexeis 28.4.2006, 11:10
Код sexton вообщем-то верный если бы не очепятки
Код

var sum, count :integer;
    i, j       : integer
begin
..........
count := 0;
for i := 1 to 5
do
  begin
     sum := 0;
     for j := 1 to 6
     do
       sum := sum + A[i,j];
     if sum > 0
     then
       inc(count);
  end;

writeln('count=', Count);
......................
 

Автор: Anonymous 28.4.2006, 13:03
Мужики, спасибо вам. smile  Помогли ОЧЕНЬ. smile  Благодарен всем, кто принимал участие.  

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