М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
анютка6780
анютка6780
08.05.2023 02:32 •  Информатика

Pascal, динамические структуры данных. матрица, размещена в динамической памяти звучит так: дана матрица размера n*m (n< =150, m< =200). элементы 1й строки циклически сдвинуть на 1 позицию вправо, 2й строки на 2 позиции, 3й строки на 3 позиции и т. д написать программу, с комментариями, т.к. с указателями толком не разобрался. заранее . турбо-паскаль

👇
Ответ:
saltanatkeneso
saltanatkeneso
08.05.2023
Uses Crt;

type
  MCo = array[1..200] of longint; {строка массива - до 200 столбцов}
  DV = ^MCo; {указатель на строку массива}
  MR = array[1..150] of DV; {массив указателей на строки}

var
  a: MR; {Создается массив указателей на строки}
  n,m:longint;

procedure ShiftCycle(row: longint; k: longint);
var
  i, j, e: longint;
begin
  for i := 1 to k do
  begin
    e := a[row]^[m];
    for j := m - 1 downto 1 do a[row]^[j + 1] := a[row]^[j];
    a[row]^[1] := e
  end;
end;

var
  i, j, e: longint;

begin
  ClrScr;
  writeln('Введите число строк и столбцов массива');
  readln(n,m);
  writeln('Введите элементы массива');
  for i := 1 to n do
  begin
    getmem(a[i], m * sizeof(longint)); {Фактическое выделение памяти под i-ю строку строку массива}
    writeln('Строка ',i,':');
    for j := 1 to m do read(a[i]^[j])
  end;
  writeln;
  for i := 1 to n do
  begin
    ShiftCycle(i, i);
    for j := 1 to m do write(a[i]^[j]:4);
    writeln;
    freemem(a[i], m * sizeof(longint)) {Освобождение памяти из-под i-й строки массива}
  end
end.

Тестовый прогон:

Введите число строк и столбцов массива
4 5
Введите элементы массива
Строка 1:
1 2 3 4 5
Строка 2:
6 7 8 9 10
Строка 3:
11 12 13 14 15
Строка 4:
16 17 18 19 20

    5    1   2    3   4
    9  10   6    7   8
  13  14  15  11  12
  17  18  19  20  16
4,4(53 оценок)
Открыть все ответы
Ответ:
Nastyal1324
Nastyal1324
08.05.2023

3

Объяснение:

Посчитаем количество участников по регионам:

Башкирия - 500

Чувашия - 600

Удмуртия - 900

Всего 2000

Следовательно Удмуртия занимает чуть меньше половины.

Рассмотрим диаграммы:

В 1 и 2 диаграммах один из регионов занимает ровно половину диаграммы (зелёный сектор). Они нам не подходят, т.к. самый большой регион должен занимать чуть меньше половины.

В 4 диаграмме все регионы занимают равные сектора, что тоже не соответствует условию. Она тоже не подходит.

В 3 диаграмме все условия выполнены. Она подходит.

4,6(15 оценок)
Ответ:
drakula13055
drakula13055
08.05.2023

3

Объяснение:

Посчитаем количество участников по регионам:

Башкирия - 500

Чувашия - 600

Удмуртия - 900

Всего 2000

Следовательно Удмуртия занимает чуть меньше половины.

Рассмотрим диаграммы:

В 1 и 2 диаграммах один из регионов занимает ровно половину диаграммы (зелёный сектор). Они нам не подходят, т.к. самый большой регион должен занимать чуть меньше половины.

В 4 диаграмме все регионы занимают равные сектора, что тоже не соответствует условию. Она тоже не подходит.

В 3 диаграмме все условия выполнены. Она подходит.

4,8(23 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ