Вывести количество, чисел равных заданным - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Неудача с выполнением кода или я где-то затупил Вообще суть задания таково: Вводиться 14 натуральных чисел. Нужно вывести количество чисел равных 0 , 150, 1000 и 10000. И после этого программа вводить вопрос продолжить нажав на Y или закончить нажав на N.
program Project1;
const
  asd = 14;
var
  arr: array [1..asd]of word;
  i,max:word;
  ch0, ch150, ch1000, ch10000:word;
  ch:char;
 
begin
 repeat;
 write('Введите 14 значений');
 for i:=1 to asd do
 read(arr[i]);
 max:=0;
 for i:=1 to asd do
   if (arr[i]=0) then
   ch0:=ch0+1;
   if (arr[i]=150) then
   ch150:=ch150+1;
   if (arr[i]=1000) then
   ch1000:=ch1000+1;
   if (arr[i]=10000) then
   ch10000:=ch10000+1;
 
   writeln ('');
   readln(ch0);
   writeln('');
   readln(ch150);
   writeln('');
   readln(ch1000);
   writeln('');
   readln(ch10000);
   writeln('Введите Y для повтора, а если вы хотите завершить нажмите на N');
  readln(ch);
  until (ch<>'Y');
 
end.
Если не сложно, напишите как правильно)

Решение задачи: «Вывести количество, чисел равных заданным»

textual
Листинг программы
const asd = 14;
var a,i,ch0, ch150, ch1000, ch10000:word;
    ch:char;
begin
repeat;
 write('Введите 14 целых чисел, в том числе числа 0,150,1000,10000');
 ch0:=0; ch150:=0; ch1000:=0; ch10000:=0;
 for i:=1 to asd do
  begin
   readln(a);
   if a=0 then ch0:=ch0+1;
   if a=150 then ch150:=ch150+1;
   if a=1000 then ch1000:=ch1000+1;
   if a=10000 then ch10000:=ch10000+1;
  end;
 writeln('Чисел 0=',ch0);
 writeln('Чисел 150=',ch150);
 writeln('Чисел 1000=',ch1000);
 writeln('Чисел 10000=',ch10000);
 writeln('Введите Y для повтора, а если вы хотите завершить нажмите другую клавишу');
 readln(ch);
 until (upcase(ch)<>'Y');
end.

Объяснение кода листинга программы

  1. Объявлены константа asd равная 14 и переменные a, i, ch0, ch150, ch1000, ch10000 типа word.
  2. Переменная ch имеет тип char.
  3. В цикле repeat выполняется блок кода, который повторяется до тех пор, пока пользователь не введет Y.
  4. В начале каждого цикла повторяется вывод сообщения с просьбой ввести 14 целых чисел, в том числе числа 0,150,1000,10000.
  5. После каждого введенного числа выполняется проверка и увеличение соответствующей переменной, если число равно 0,150,1000,10000.
  6. После выполнения цикла выводится количество чисел равных 0,150,1000,10000.
  7. В конце каждого цикла повторяется запрос на ввод символа для определения желания пользователя продолжить или завершить программу.
  8. Пока пользователь не введет символ Y, цикл повторяется.

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы