В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
9fhneh
9fhneh
22.10.2022 05:02 •  Информатика

написать программу к вот такому заданию: Дана строка S, состоящая из слов, отделённых друг от друга одним или несколькими пробелами. Некоторые слова могут быть целыми числами. Найдите числа в строке и расположите цифры в этих числах в порядке убывания.

Напишите процедуру chisla, в которую передаётся исходная строка S, и которая возвращает эту же строку S с измененными числами.

Опишите и используйте вс функцию sort типа longint, которая располагает цифры в числе в порядке убывания. Параметр функции sort должен иметь тип longint.

Я уже написал функцию sort, но она что-то не заводится, вот она:
function sort(x:longint):longint;
var
M: array[1..100] of integer;
n, w, y, i, j:integer;
begin
for i:=1 to length(x) do;
begin
m[i]:=x mod 10;
x:=x mod 10;
end;
y:=32767;
j:=1;
for i:=1 to length(x) do
begin
if m[i] begin
n:=i;
w:=m[i];
m[j]:=m[i];
j:=j+1;
end;
end;
end;

Показать ответ
Ответ:
Viktoriya24101
Viktoriya24101
15.01.2020 22:11

pascal

Объяснение:

var

 a: array [1..21] of integer;

 i, max, imax: integer;

begin

 randomize;

 WriteLn('Исходный массив:');

 for i := 1 to 21 do

 begin

   a[i] := random(66) - 13;

   Write(a[i], ', ');

 end;

 WriteLn;

 WriteLn('Результат задания 1:');

 for i := 1 to 21 do

 begin

   if i mod 2 = 0 then a[i] := -3 * a[i];

   Write(a[i], ', ');

 end;

 WriteLn;

 WriteLn('Результат задания 2:');

 for i := 1 to 21 do

 begin

   if a[i] < 10 then a[i] := - a[i];

   Write(a[i], ', ');

 end;

 WriteLn;

 max := -13;

 WriteLn('Результат задания 3:');

 for i := 1 to 21 do

 begin

   if abs(a[i]) > 40 then a[i] := a[i] - 15;

   Write(a[i], ', ');

   if a[i] > max then

   begin

     max := a[i];

     imax := i;

   end;

 end;

 WriteLn;

 a[imax] := sqr(imax);

 WriteLn('Результат задания 4:');

 for i := 1 to 21 do

   Write(a[i], ', ');

end.

0,0(0 оценок)
Ответ:
Lanevskie2004
Lanevskie2004
14.06.2020 01:02

program z1;

var a:array [1..21] of integer;

i,m: integer;

begin;

write('0.');

for i:=1 to 21 do

begin

a[i]:=random(66)-13;

write(a[i]:5)

end;

writeln;

write('1.');

for i:=1 to 21 do

begin

if i mod 2 = 0 then a[i]:=-3*a[i];

write(a[i]:5)

end;

writeln;

write('2.');

for i:=1 to 21 do

begin

if a[i] < 10 then a[i]:=-a[i];

write(a[i]:5)

end;

writeln;

write('3.');

for i:=1 to 21 do

begin

if abs(a[i]) > 40 then a[i]:=a[i]-15;

write(a[i]:5)

end;

writeln;

m:=1;

for i:=1 to 21 do if a[m] < a[i] then m:=i;

a[m]:=m*m;

write('4.');

for i:=1 to 21 do write(a[i]:5)

end.

Объяснение:

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота