catmartovski
19.01.2023 17:15

1. Заполнить массив из 10 элементов с клавиатуры. Вывести список нечётных элементов массива.
2. Заполнить массив из 50 элементов случайными числами из диапазона [-30..30]. Вывести список положительных элементов массива.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
230475sashan
10.04.2021 01:01
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (p,q,s):=(1,2,0);
  var k:=0;
  Write('(1,5) ');
  for var i:=3 to 1000 do begin
    var (flag,j,r):=(True,2,Round(Sqrt(i)));
    while flag and (j<=r) do
      if i mod j = 0 then flag:=false
      else j+=1;
    if flag then begin
      (p,q,s):=(q,s,i);
      if q-p=4 then Write('(',p,',',q,') ')
      else
        if s-p=4 then Write('(',p,',',s,') ')
      end
    end
end.

Результат
(1,5) (3,7) (7,11) (13,17) (19,23) (37,41) (43,47) (67,71) (79,83) (97,101) (103,107) (109,113) (127,131) (163,167) (193,197) (223,227) (229,233) (277,281) (307,311) (313,317) (349,353) (379,383) (397,401) (439,443) (457,461) (463,467) (487,491) (499,503) (613,617) (643,647) (673,677) (739,743) (757,761) (769,773) (823,827) (853,857) (859,863) (877,881) (883,887) (907,911) (937,941) (967,971)
0,0(0 оценок)
Ответ:
77788899
09.02.2021 03:46
Const
  nn=50;

type
  data = record
    number : 1..31;
    month : 1..12;
    year : 1901..1997
  end;

var
  d:array[1..nn] of data;
  i,n,k:integer;
  s,s1,s2,s3:string;
begin
  Write('Количество дат (1..50)-> '); Read(n);
  Writeln('Введите через пробел день, месяц, год: ');
  for i:=1 to n do Read(d[i].number,d[i].month,d[i].year);
  { a }
  Write('Самый ранний из годов: ');
  k:=d[1].year;
  for i:=2 to n do
    if d[i].year<k then k:=d[i].year;
  Writeln(k);
  { б }
  Writeln('Все весенние даты');
  for i:=1 to n do
    if d[i].month in [3..5] then
      Write(d[i].number,'.',d[i].month,'.',d[i].year,' ');
  Writeln;
  { в }
  Write('Cамая поздняя дата: ');
  Str(d[1].year,s1); Str(d[1].month,s2); Str(d[1].number,s3);
  if Length(s2)=1 then s2:='0'+s2;
  if Length(s3)=1 then s3:='0'+s3;
  s:=s1+s2+s3;
  for i:=2 to n do
  begin
    Str(d[i].year,s1); Str(d[i].month,s2); Str(d[i].number,s3);
    if Length(s2)=1 then s2:='0'+s2;
    if Length(s3)=1 then s3:='0'+s3;
    if s<s1+s2+s3 then s:=s1+s2+s3
  end;
  Writeln(Copy(s,7,2)+'.'+Copy(s,5,2)+'.'+Copy(s,1,4))
end.

Тестовое решение:
Количество дат (1..50)-> 6
Введите через пробел день, месяц, год:
18 4 1950
16 5 1968
5 8 1970
3 9 1968
11 6 1964
16 12 1967
Самый ранний из годов: 1950
Все весенние даты
18.4.1950 16.5.1968
Cамая поздняя дата: 05.08.1970
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота