
Помогите пожалуйста написать программу!!! Дан массив из двух тысяч элементов,найти элементы которые
представляют собой двузначные числа и выведите их на экран. Числа в массиве от 0 до 2000(числовой диапазон). Из трёхзначных выбрать кратные трём и вывести на экран в порядке убывания. В Паскале помогите пожалуйста!!!!!

Ответы на вопрос

Program n_1;
var i, b, k, y, j:integer; a, c: array [1..2000] of integer;
begin
y:=1;
writeln('Введите числа');
for i:=1 to 2000 do read(a[i]);
writeln;
writeln ('Числа, состоящие из 2 разрядов:');
for i:=1 to 2000 do begin
b:=a[i];
k:=0;
while b>0 do
begin
b:=b div 10;
k:=k+1;
end;
if k=2 then write(a[i], ' ');
if k=3 then begin
b:=(a[i] mod 10) + ((a[i] div 10) mod 10) + ((a[i] div 100) mod 10);
if (b mod 3)=0 then begin
c[y]:=a[i]; y:=y+1;
end;
end;
end;
for i := 1 to y-1 do
for j := 1 to y-i do
if c[j]<c[j + 1] then begin
k:=c[j];
c[j]:= c[j+1];
c[j+1]:=k;
end;
writeln;
writeln ('Числа, состоящие из 3 разрядов и кратные 3:');
for i:=1 to y-1 do write(c[i], ' ');
end.



Конечно, я помогу вам написать программу на языке Pascal, которая будет выполнять указанные вами задачи. Для этого мы будем использовать два отдельных цикла для каждого из запросов. Вот программа:
pascalprogram FindNumbers; const ARRAY_SIZE = 2000; type IntArray = array[1..ARRAY_SIZE] of Integer; procedure FindTwoDigitNumbers(arr: IntArray); var i: Integer; begin writeln('Двузначные числа в массиве:'); for i := 1 to ARRAY_SIZE do begin if (arr[i] >= 10) and (arr[i] <= 99) then write(arr[i], ' '); end; writeln; end; procedure FindThreeDigitMultiplesOfThree(arr: IntArray); var i: Integer; threeDigitMultiples: array of Integer; count: Integer; begin SetLength(threeDigitMultiples, 0); for i := 1 to ARRAY_SIZE do begin if (arr[i] >= 100) and (arr[i] <= 999) and (arr[i] mod 3 = 0) then begin SetLength(threeDigitMultiples, Length(threeDigitMultiples) + 1); threeDigitMultiples[Length(threeDigitMultiples) - 1] := arr[i]; end; end; // Сортировка элементов по убыванию for i := 0 to Length(threeDigitMultiples) - 2 do begin for count := Length(threeDigitMultiples) - 1 downto i + 1 do begin if threeDigitMultiples[count] > threeDigitMultiples[count - 1] then begin // Обмен значениями threeDigitMultiples[count] := threeDigitMultiples[count] xor threeDigitMultiples[count - 1]; threeDigitMultiples[count - 1] := threeDigitMultiples[count] xor threeDigitMultiples[count - 1]; threeDigitMultiples[count] := threeDigitMultiples[count] xor threeDigitMultiples[count - 1]; end; end; end; writeln('Трёхзначные числа, кратные трём, в порядке убывания:'); for i := 0 to Length(threeDigitMultiples) - 1 do write(threeDigitMultiples[i], ' '); writeln; end; var numbers: IntArray; i: Integer; begin // Заполнение массива числами от 0 до 2000 for i := 1 to ARRAY_SIZE do numbers[i] := i - 1; FindTwoDigitNumbers(numbers); FindThreeDigitMultiplesOfThree(numbers); readln; end.
Эта программа создает массив из чисел от 0 до 2000, а затем находит двузначные числа и выводит их на экран. Затем она находит трехзначные числа, кратные трём, и выводит их в порядке убывания.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili