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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2013, 20:42   #1
Slad
Новичок
Джуниор
 
Регистрация: 04.02.2013
Сообщений: 1
По умолчанию Оператор цикла с предусловием.(Pascal)

Задание: Вводится последовательность положительных целых чисел, за которой следует 0 (признак конца последовательности). Определить сумму чисел, их количество, минимальное и максимальное число с их порядковыми номерами среди тех введенных чисел, которые оканчиваются на цифру нуль.

Сам попытался, но прикомпилировании выдает все нули, не могу понять: в чем проблема?

Код:
 
var
n, s, b, c, i, k: longint;
begin
writeln('n=');
i:=0;
s:=0;
k:=0;
readln;
while n>0 do
begin
i:=i+1;
if n mod 10=0 then
begin
k:=k+1;
s:=s+n;
end;
if n>b then b:=n;
if n<c then c:=n;
end;
writeln('KOL: ', k);
writeln('Max: ', b);
writeln('Min: ', c);
write('Summa: ', s);
readln;
end.
заранее спасибо
Slad вне форума Ответить с цитированием
Старый 04.02.2013, 20:48   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

1. В каком месте Вы вводите саму последовательность? (подсказка: найдите в своем коде readLn(n);)
2. Переменные b и c (минимум и максимум) нигде не инициализируются.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.02.2013, 22:12   #3
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Не запускал, но должно быть как-то так:
Код:
var
n, s, b, c, i, k: longint;
begin

  i:=0;
  s:=0;
  k:=0;
  n := 1;
  while n > 0 do
  begin
    write('n = ');
    readln(n);
    i := i+1;
    if n mod 10 = 0 then
    begin
      if n > b then b:=n;
      if n < c then c:=n;
      k:=k+1;
      s:=s+n;
    end;

  end;
  writeln('KOL: ', k);
  writeln('Max: ', b);
  writeln('Min: ', c);
  write('Summa: ', s);
end.
В задании нужно искать сумму, максимум, минимум только из тех чисел, которые оканчиваются на цифру нуль. А у вас минимум и максимум из всех ищет.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 04.02.2013, 22:17   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

kventin_zhuk и все-равно:

Цитата:
2. Переменные b и c (минимум и максимум) нигде не инициализируются.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.02.2013, 22:25   #5
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Sciv, Это, конечно, не есть хорошо, но в паскале по умолчанию нулём инициализируются, не?
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 04.02.2013, 22:28   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от kventin_zhuk Посмотреть сообщение
Sciv, Это, конечно, не есть хорошо, но в паскале по умолчанию нулём инициализируются, не?
чаще всего да)
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 04.02.2013, 22:32   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Sciv, Это, конечно, не есть хорошо, но в паскале по умолчанию нулём инициализируются, не?
нулем, ага. И не есть карашо - тоже ага

Зачем учите человека сразу с элементарными недочетами кодить?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.02.2013, 22:36   #8
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
нулем, ага. И не есть карашо - тоже ага

Зачем учите человека сразу с элементарными недочетами кодить?
Ну вот и не поспоришь же
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# (оператор цикла с предусловием while) Tytti Помощь студентам 2 22.11.2011 18:22
Операторы цикла с предусловием While kolyan45 Помощь студентам 0 03.06.2011 20:28
Вычислить используя, оператор цикла for и оператор безусловного пе Knubbe Помощь студентам 1 18.12.2009 10:24
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10