Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вычислить кол-во строк, сумма ктороых больше нуля 
:(
    Опции темы
Anonymous
Дата 26.4.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Есть небольшая задачка. Я понимаю, что она простая, но никак не могу додуматься в одном месте. Итак, задача: В двумерном массиве 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
Помогите с циклами, пожалуйста.
Заранее спасибо   

Это сообщение отредактировал(а) Anonymous - 26.4.2006, 14:29
PM MAIL   Вверх
sexton
Дата 26.4.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 5.5.2004
Где: Ульяновск

Репутация: нет
Всего: 9



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

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);

 
PM MAIL WWW ICQ   Вверх
Anonymous
Дата 27.4.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Код

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.

Не работает....что не так?    
PM MAIL   Вверх
armageddon
Дата 27.4.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.11.2005
Где: 239

Репутация: нет
Всего: нет



что именно у тебя не идет?
попробуй вместо типа text написать тип string 
PM MAIL   Вверх
volvo877
Дата 27.4.2006, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



armageddon,
и что будет? Assign к строке - как ты ЭТО себе представляешь?  smile   
PM MAIL   Вверх
Anonymous
Дата 28.4.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



А проблема вот в чём: при запуске "программы" ничего не происходит. Совсем ничего. Не выдаёт никаких сообщений, вообще НИЧЕГО. Что такое? Почему это может быть? 
PM MAIL   Вверх
volvo877
Дата 28.4.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Anonymous, неизвестно. Ибо ТО, что ты привел не только не запустится, но даже не откомпилируется. А телепатов здесь как-то не очень много бывает... 
PM MAIL   Вверх
Alexeis
Дата 28.4.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Код 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);
......................
 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Anonymous
Дата 28.4.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Мужики, спасибо вам. smile  Помогли ОЧЕНЬ. smile  Благодарен всем, кто принимал участие.  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0759 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.