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

Паскаль: Дан массив x [1..5, 1..8], Поменять местами элементы столбцов с номерами i и j
(первый элемент столбца i с первым элементом столбца j, второй – со вторым и так далее

Показать ответ
Ответ:
pro100Abyroi
pro100Abyroi
17.08.2021 17:55

// PascalABC.Net

// Первая программа, если необходимо выбрать нечетные элементы и их отсортировать.

begin

   var a := ArrRandom(10);

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

   a.PrintLn(', ');

   writeln('Отсортированный массив нечетных элементов: ');

   a.Where(e -> e mod 2 <> 0).OrderBy(e -> e).Print(', ');

end.

// Вторая программа, если необходимо в исходном массиве отсортировать нечетные значения

begin

   var a := ArrRandom(10);

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

   a.PrintLn(', ');

   writeln('Отсортированный массив нечетных элементов: ');

   var odd := a.Select((e, i) -> (i, e)).Where(e -> e[1] mod 2 <> 0).OrderBy(e -> e[1]);

   var sortedOdd := odd.Zip(odd.Select(e -> e[0]).OrderBy(e -> e), (f, s) -> (s, f[1]));

   foreach var e in sortedOdd do

       a[e[0]] := e[1];

   a.PrintLn(', ');

end.

0,0(0 оценок)
Ответ:
SuperSaam
SuperSaam
13.06.2022 13:05

Ошибка 1. Объявлен массив с типом данных значений string, хотя нужно заполнять массив целыми числами, а потом находить их сумму. Необходимо заменить тип string на integer.

Ошибка 2. Цикл не выполнится ни один раз, т.к. неправильно задан параметр. Необходимо либо написать конструкцию так: For i:=n downto 1 do , либо For i:=1 to n do .

Исправленный код:

Program summa;

Var a: array[1..100] of integer;

i, n: integer;

s: integer;

Begin

Write ('n='); Readln (n);

For i:=1 to n do

begin

write ('введите число');

readln (a[i]);

s:=s+a[i];

end;

writeln('сумма элементов равна ',s);

End.

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