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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 22:30   #1
ronny137
Пользователь
 
Регистрация: 03.12.2009
Сообщений: 52
По умолчанию ошибка в проге

решил задачу, но препод сказал что числа -9999 и 9999 неправильные, надо присвоить правильные значения, но не знаю какие, и надо обьяснить почему не 9999 а какие надо

Вычисление суммы максимального и минимального из последовательно вводимых чисел, рассматриваются только чётные числа. Остановить обработку при вводе заказанного количества чисел. Тип обработки-целые.

Код:
uses crt;
var kol,min,max,a,n,i:integer;
 
begin
clrscr;
min:=9999;
max:=-9999;
writeln('Input number of numbers');
readln(n);
for i:=1 to n do
 begin
  read(a);
    if a mod 2 = 0 then
     begin
       inc(kol);
       if a<min then min:=a;
         if (a>max) then max:=a;
     end;
 end;
  if kol=0 then write('чётных чисел нет') else
  writeln(max+min);
  readln;
end.
ronny137 вне форума Ответить с цитированием
Старый 13.12.2010, 22:56   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Да присвойте им первое четное число из массива - и все.
Почему не 9999? Наверное, потому что а) они нечетные, б) пользователь может ввести, например, 10000 или -10000, и тогда подсчет максимального и минимального будет уже неправильным.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 13.12.2010, 23:00   #3
ronny137
Пользователь
 
Регистрация: 03.12.2009
Сообщений: 52
По умолчанию

в смысле первое четное число?
и минимуму и максимуму одно и тоже число присвоить?
да тут и массива нету
можно кусок программы?=)
ronny137 вне форума Ответить с цитированием
Старый 13.12.2010, 23:10   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Код:

uses crt;
var kol,min,max,a,n,i:integer;
 
begin
clrscr;
writeln('Input number of numbers');
readln(n);
kol:=0;
for i:=1 to n do
 begin
  read(a);
    if a mod 2 = 0 then
     begin
       if (kol = 0) then
       begin
          min:=a;
          max:=a;
       end;
       inc(kol);
       if a<min then min:=a;
         if (a>max) then max:=a;
     end;
 end;
  if kol=0 then write('чётных чисел нет') else
  writeln(max+min);
  readln;
end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 23:13   #5
ronny137
Пользователь
 
Регистрация: 03.12.2009
Сообщений: 52
По умолчанию

а можете обьяснить зачем массив? и зачем им присваивать первое четное число из массива?
ronny137 вне форума Ответить с цитированием
Старый 13.12.2010, 23:16   #6
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Да, минимуму и максимуму одно и то же число.
Теперь вижу, что массива нет. Не парьтесь по этому поводу. Невнимательная я
Навскидку: объявляете переменную типа boolean. Пусть будет isFirst.
Код:
isFirst:=true;
for i:=1 to n do
 begin
  read(a);
    if a mod 2 = 0 then
     begin
       if isFirst = true then
       begin
          min := a;
          max := a;
          isFirst:= false;
       end
       else
       begin
         if a<min then min:=a;
         if (a>max) then max:=a;
       end;
       inc(kol);
     end;
 end;
C Паскалевским синтаксисом дружу не очень - могут быть ошибки.

P.S. Как обычно опоздала
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 13.12.2010, 23:18   #7
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от ronny137 Посмотреть сообщение
а можете обьяснить зачем массив? и зачем им присваивать первое четное число из массива?
А где ты нашел массив ? А зачем им присваивать первое введенное четное число , тебе привели пример выше . Когда у тебя было присвоено число 9999 , а если человек вводит 2000 всегда , то ты его его не посчитаешь как максимум .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 23:29   #8
ronny137
Пользователь
 
Регистрация: 03.12.2009
Сообщений: 52
По умолчанию

это нормальная программа? ее можно сдавать? и почему с минимумами все удалено?
Цитата:
Сообщение от andrewpalkin Посмотреть сообщение
Код:

uses crt;
var kol,min,max,a,n,i:integer;
 
begin
clrscr;
writeln('Input number of numbers');
readln(n);
kol:=0;
for i:=1 to n do
 begin
  read(a);
    if a mod 2 = 0 then
     begin
       if (kol = 0) then
       begin
          min:=a;
          max:=a;
       end;
       inc(kol);
       if a<min then min:=a;
         if (a>max) then max:=a;
     end;
 end;
  if kol=0 then write('чётных чисел нет') else
  writeln(max+min);
  readln;
end.
тупанул немного. это условие а я с массивом перепутал
ronny137 вне форума Ответить с цитированием
Старый 13.12.2010, 23:32   #9
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от ronny137 Посмотреть сообщение
это нормальная программа? ее можно сдавать? и почяему с минимумаи все удалено?
Обычно , что бы проверить программу , ее запускают и проверяют ! Ты ее запускал/а ???

Что именно удалено , можно по конкретней ???
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 23:35   #10
ronny137
Пользователь
 
Регистрация: 03.12.2009
Сообщений: 52
По умолчанию

вот это удалено
Код:
min:=9999;
max:=-9999
препод сказала, что надо просто другие значение присвоить и все
нет. не запускал.
ronny137 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С,ошибки в проге Aptemis Помощь студентам 3 20.04.2010 16:57
delphi, ошибка в проге 1nd1g0 Помощь студентам 6 19.04.2010 23:27
Ошибка в проге на Delphi Dimka666 Помощь студентам 16 03.06.2009 00:33
Ошибка в проге :( Defender42 Помощь студентам 15 29.05.2009 02:08
Ошибка в проге Detrix Помощь студентам 1 12.03.2008 08:28