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

решить

Сколько сможите
PASCAL

Зд. 1 Сформировать массив В(4,6) у которого элементы первой стоки равны единицы, второй строки равны двум, третьей строки сумме индексов (сумме номера строки и столбца на пересечении которых стоит элемент), четвёртой строки произведению своих индексов. Вывод созданного массива выполнить в виде таблицы.

Зд. 2 Дан массив D(M, N). Сформировать массив T, элементы которого вычисляются по формуле: T[i,j]= D[I,j]4 – i*j. Вывести оба массива в два столбца.

Зд. 3 Дан массив А(7, 5). Найти:

а) Сумму и произведение всех его элементов;

б) Сумму элементов стоящих в третьей строке;

в) Произведение элементов стоящих в пятом столбце;

г) Суммы элементов стоящих в одной строке, для каждой строки.

Зд. 4 Дан массив B(К), где К чётное число (не забудь вывести в строку для наглядности). Сформировать двумерный массив в котором в первой строке будут находиться элементы массива В стоящие в нём на не чётных позициях, а во второй строке будут находиться элементы массива В стоящие в нём на чётных позициях. Новый массив вывести в виде таблицы.

Зд. 5 Дан произвольный двумерный массив, сформировать из его элементов новый одномерный массив, развернув элементы исходного массива по столбцам.

Показать ответ
Ответ:
алтуша9796
алтуша9796
08.01.2022 23:26
// PascalABC.NET 3.3, сборка 1570 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(11,-29,150); a.Println;
  Writeln('Ср.арифм. положительных: ',a.Where(x->x>0).Average:0:3);
  Writeln('Ср.арифм. отрицательных: ',a.Where(x->x<0).Average:0:3);
  Swap(a[1],a[6]);
  Writeln('Результирующий массив'); a.Println
end.

Пример
91 109 113 119 17 95 41 131 -15 117 -14
Ср.арифм. положительных: 92.556
Ср.арифм. отрицательных: -14.500
Результирующий массив
91 41 113 119 17 95 109 131 -15 117 -14
0,0(0 оценок)
Ответ:
поварешка1
поварешка1
13.03.2020 03:49
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadlnString.ToWords;
  var St:=new Stack <integer>;
  var r:=0;
  foreach var t in w do
    if t[1].IsDigit then St.Push(t.ToInteger)
    else begin
      var a:=St.Pop;
      var b:=St.Pop;
      case t[1] of
      '+':St.Push(a+b);
      '-':St.Push(b-a);
      '*':St.Push(a*b)
      end;
    end;
  Writeln(St.Pop) 
end.

Контрольный пример
8 9 + 1 7 - *
-102

2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
      MatchValue('(.)\1{2,}').Length);
end.

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