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

Сформировать квадратную матрицу размером N на N и заполнить её случайными числами от -9 до 9 включительно. Вывести эту матрицу на экран и подсчитать, сколько в ней отрицательных, положительных и нулевых элементов.

Показать ответ
Ответ:
kristinalogvin20
kristinalogvin20
14.03.2020 15:07
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  a:=a.Reverse.ToArray; a.Println
end.

Пример
n= 13
1 80 -54 36 84 -43 -88 43 36 9 -14 -19 -38
-38 -19 -14 9 36 43 -88 -43 84 36 -54 80 1

Вариант для вывода элементов массива в 8 позициях:

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99);
  a.Select(t->Format('{0,8}',t)).Println('');
  a:=a.Reverse.ToArray;
  a.Select(t->Format('{0,8}',t)).Println('')
end.

Перестановка одномерного массива в обратном порядке. значение длины массива вводиться с клавиатуры .
0,0(0 оценок)
Ответ:
daryna27
daryna27
05.05.2023 04:22

Объяснение:

Алгоритм решения данной задачи можно описать так:

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

Заполнить исходный массив и вывести его на экран.

Выполнять внешний цикл столько раз, сколько шагов было указано.

Если было введено отрицательное число, то выполнить цикл от первого элемента до предпоследнего, перезаписав в нем значение каждой очередной ячейки на значение последующей. Записать в последнюю ячейку 0.

Иначе, выполнить цикл от последнего элемента до второго, записывая в каждую текущую ячейку значение предыдущей. В первую ячейку записать 0.

Вывести на экран текущий массив.

Сдвиг Влево

-4

111 222 333 444 555 666 777 888 999

222 333 444 555 666 777 888 999   0

333 444 555 666 777 888 999   0   0

444 555 666 777 888 999   0   0   0

555 666 777 888 999   0   0   0   0

Сдвиг в Право

5

111 222 333 444 555 666 777 888 999

  0 111 222 333 444 555 666 777 888

  0   0 111 222 333 444 555 666 777

  0   0   0 111 222 333 444 555 666

  0   0   0   0 111 222 333 444 555

  0   0   0   0   0 111 222 333 444

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