0 / 0 / 0
Регистрация: 08.03.2017
Сообщений: 13
1

Ввод пользователем заранее НЕ известного количества чисел(выбрать признак окончания ввода-число 999)

08.03.2017, 19:52. Показов 4139. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ввод пользователя заранее НЕ известного количества чисел(выбрать признак окончания ввода-число 999) с определением среди введенных чисел наибольшего и наименьшего числа,а также среднего значения по всем введенным числам и их количества.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2017, 19:52
Ответы с готовыми решениями:

Ввести с клавиатуры строку символов.Признак окончания ввода строки - нажатие клавиши 'ввод'.Программа должна определить длину введенной строки L
Помогите пожалуйста:gbye: Ввести с клавиатуры строку символов.Признак окончания ввода строки -...

Ввод с консоли не известного заранее количества чисел
Предложите алгоритм ввода таким образом чисел. Для объяснения, что надо напишу какие варианты...

Ввод целых десятичных чисел из диапазона 0.999 999 999 999 999 999
Помогите пожалуйста исправить ошибки в программе (компилятор MASM)...Буду очень благодарен. Вот...

Не работает признак окончания ввода(признак-0)
Признак окончания ввода 0; подскажите люди добрые что не так?) #include <iostream>...

5
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
08.03.2017, 20:02 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var
  c,sum,min,max,n:integer;
begin
  clrscr;
  min:=1000; max:=0; sum:=0; n:=0;
  repeat
    readln(c);
    if c<>999 then begin
      if c<min then min:=c;
      if c>max then max:=c;
      sum:=sum+c; n:=n+1;
    end;
  until c=999;
  writeln('Max = ', max,'; Min = ',min,'; Ave = ',sum/n:0:2,'; Kol = ', n);
  readkey;
end.
1
0 / 0 / 0
Регистрация: 08.03.2017
Сообщений: 13
08.03.2017, 20:11  [ТС] 3
Спасибо.
0
101 / 97 / 112
Регистрация: 28.11.2016
Сообщений: 528
08.03.2017, 20:26 4
Лучший ответ Сообщение было отмечено Ornstein6 как решение

Решение

Hitoku, Позвольте поворчать))), не факт что все введённые числа положительные и меньше 1000, по этому, ИМХО лучше написать так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var
  c,sum,min,max,n:integer;
begin
  clrscr;
  readln(c);
  min:=c; max:=c; sum:=c; n:=1;
  while (c<>999)
  do begin
    readln(c);
    if c<>999 then begin
      if c<min then min:=c;
      if c>max then max:=c;
      sum:=sum+c; n:=n+1;
    end;
  end;
  writeln('Max = ', max,'; Min = ',min,'; Ave = ',sum/n:0:2,'; Kol = ', n);
  readkey;
end.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32855 / 21189 / 8151
Регистрация: 22.10.2011
Сообщений: 36,441
Записей в блоге: 8
09.03.2017, 00:33 5
Цитата Сообщение от Alexandr212 Посмотреть сообщение
не факт что все введённые числа положительные и меньше 1000
Это исправляется без дублирования ввода:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var
  c,sum,min,max,n:integer;
begin
  clrscr;
  sum:=0; n:=0;
  repeat
    readln(c);
    if c<>999 then begin
      if (n = 0) or (c < min) then min:=c;
      if (n = 0) or (c > max) then max:=c;
      sum:=sum+c; n:=n+1;
    end;
  until c=999;
  writeln('Max = ', max,'; Min = ',min,'; Ave = ',sum/n:0:2,'; Kol = ', n);
  readkey;
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7775 / 4603 / 2825
Регистрация: 22.11.2013
Сообщений: 13,085
Записей в блоге: 1
10.03.2017, 09:16 6
... либо без доп. условия на каждом шаге:
Pascal
6
7
8
9
10
11
12
  min:=MaxInt; max:=-MaxInt-1;
  repeat
    Read(c); if c=999 then Break;
    if min>c then min:=c;
    if max<c then max:=c;
    Inc(sum,c); Inc(n);
  until False;
Добавлено через 3 минуты
Используя ReadLn не сможете обработать все введенные числа; будут учтены только первые в строке, если в строку введено более одного числа, все, кроме первого, будут проигнорированы, результат окажется неверным.
0
10.03.2017, 09:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2017, 09:16
Помогаю со студенческими работами здесь

написать программу которая вводит последовательность из ненулевых чисел (признак окончания ввод 0, количество больше двух). определить сумму нечетных
здравствуйте, помогите пожалуйста написать программу которая вводит последовательность из ненулевых...

Ввод заранее неизвестного количества чисел массива с клавиатуры
Как написать код, чтобы пользователь вводил числа в массив количество элементов которого не известно

Вводится последовательность чисел. Признак конца ввода – число 777.
Вводится последовательность чисел. Признак конца ввода – число 777. Записать алгоритм решения...

дана последовательность действительных чисел а1 а2 а3. признак конца последовательности 999
дана последовательность действительных чисел а1 а2 а3. признак конца последовательности...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru