Designer
?>

Напишите программу, которая в последовательности натуральных чисел определяет максимальное однозначное число. Кроме того, если есть число 19, то выводит «Yes», если его нет, то выводит «No». Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0. (0-признак окончания ввода, не входит в последовательность Количество чисел не превышает 1000. Введённые числа по модулю не превышают 10 000

Информатика

Ответы

denisrogachv

Возможное решение:

var n,i,a,min: integer;

begin 

 readln(n);

 min:=30001

 for i:=1 to n do

    begin

      readln(a)

      if (a mod 10 = 4) and (a < min)

           then min:= a;

    end;

 writeln(min)

end.

Svetlaru70

Задачки такого типа не имеют однозначного решения, можно предложить нескольео вариантов и все они будут правильные. Слишком мало членов дано.

Вот мои версии.

 

а. 1; 3; 6; 4; 11; 5; 16; 6 (на нечётных местах всё время +5, на чётных +1)

 

б. 9; 7; 10; 4; 11; 1; 12; -2; ... (на нечётных +1, на чётных -3)

 

в. 3; 2; 1; 6; 5; 4; 9; 8; 7; 12; 11; 10... (тройки n;n-1;n-2; первое число тройки - последовательные числа, кратные 3)

 

Могу предложить ещё несколько ДРУГИХ вариантов продолжения последовательностей и все они, повторюсь, будут ПРАВИЛЬНЫМИ. 

Одно только замечание: ВСЕГДА нужно указывать алгоритм или формулу, по которой последовательность строится(продолжается).

 

scorpion21c
Type
  tR = real;
  tF = file of tR;

procedure SwapFile(fn1, fn2: string);
var
  r: tR;
  fin, fout: tF;
begin
  Assign(fin, fn1); Reset(fin);
  Assign(fout, fn2); Rewrite(fout);
  while (not Eof(fin)) do begin Read(fin, r); Write(fout, r) end;
  Close(fin); Close(fout)
end;

var
  f1, f2, f3, f4, f5, fh: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin'; fh := 'tmp.bin';
  { f2 <-> f4 }
  SwapFile(f2, fh); SwapFile(f4, f2); SwapFile(fh, f4);
  { f5->h, f3->f5, f1->f3, h->f1 }
  SwapFile(f5, fh); SwapFile(f3, f5); SwapFile(f1, f3); SwapFile(fh, f1)
end.

Для тестирования
Можно создать тестовые файлы с следующей программы:
type
  tR = real;
  tF = file of tR;

procedure WF(fn: string; m, n: integer);
var
  fout: tF;
  i: integer;
begin
  Assign(fout, fn); Rewrite(fout);
  for i := m to n do Write(fout, i / 2);
  Close(fout)
end;

var
  f1, f2, f3, f4, f5: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin';
  WF(f1, 3, 7); WF(f2, 11, 19); WF(f3, -6, 9); WF(f4, 0, 11); WF(f5, 14, 22);   
end.

Далее можно просмотреть содержимое созданных файлов с следующей программы:
type
  tR = real;
  tF = file of tR;

procedure WF(fn: string);
var
  fin: tF;
  r: tR;
begin
  Writeln(fn);
  Assign(fin, fn); Reset(fin);
  while (not Eof(fin)) do
  begin Read(fin, r); Write(r:0:1, ' ') end;
  Writeln;
  Close(fin)
end;

var
  f1, f2, f3, f4, f5: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin';
  WF(f1); WF(f2); WF(f3); WF(f4); WF(f5)
end.

Затем выполнить основную программу по перезаписи и снова запустить программу для просмотра обновленнных файлов.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая в последовательности натуральных чисел определяет максимальное однозначное число. Кроме того, если есть число 19, то выводит «Yes», если его нет, то выводит «No». Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0. (0-признак окончания ввода, не входит в последовательность Количество чисел не превышает 1000. Введённые числа по модулю не превышают 10 000
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

linda3930
Кирилл-Морозова
Galkin Vladimirovich729
Не(a) &amp; b + a &amp; не(b)​
ivanrancev
det-skazka55
ValerevnaRustam1072
Nikolaevna Malika1511
pavlino-mkr
potapenkoon72
rozhkova
tkozina
Рогова Ольга1156
Решетникова
maksmi
alekseev13602