Задать вопрос
30 ноября, 10:35

Ввести матрицу А размерностью 3*n. B (n*3). Найти матрицу С (3*n) = A (3*n) B (3*n). Найтм сумму чисел, находящихся в четных строках, нечетных столбцах. Составить блок схему и программу

+2
Ответы (1)
  1. 30 ноября, 14:20
    0
    Массивы

    Массив - это упорядоченная совокупность данных, обозначаемых одним именем, доступ к элементам массива осуществляется по их номерам (индексам). Элементами массива могут быть данные любого типа, включая структурированные, но в одном массиве могут храниться данные только одного типа (real, integer, string, char и пр.).

    Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, одномерным или вектором.

    Одномерные массивы

    Объявление одномерных массивов

    Описать одномерный массив можно несколькими способами:

    В разделе переменныхVar имя массива : Array [тип индекса] of тип элементов;

    В разделе описания типовType имя типа = Array [тип индекса] of тип элементов; Var имя массива: имя типа;

    В разделе константConst имя массива : Array [тип индекса] of тип элементов = (список элементов) ;

    Ввод данных в одномерный массив

    1. Ввод массива с клавиатуры оператором Read.

    For i:=1 to n do

    Begin

    Writeln ('введите элемент массива') ;

    Read (A[ i ]) ;

    2. Заполнение массива с помощью генератора случайных чисел Random на интервале (a, b) :

    Randomize;

    For i:=1 to n do

    A[ i ] : = Random (b-a) + a;

    3. Ввод массива в разделе констант (производится вместе с объявлением).

    Const N=5;

    A:=array [1 ... N] of integer (-8,0,4,1,3) ;

    Вывод данных в одномерном массиве

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

    Вывод в строку.

    A: array [1 ... 10] of integer;

    i : integer;

    Begin

    For i : = 1 to 10 do

    Write (a [ i ],' ') ;

    End

    Вывод в столбец.

    var

    A: array [1 ... 10] of integer;

    i : integer;

    Begin

    For i : = 1 to 10 do

    Writeln (a [ i ]) ;

    End

    Пример 1: Ввести 2 вектора, размерностью n, найти сумму этих векторов.

    Program summa;

    Var

    a, b, c: array [1 ... 100] of integer;

    i, n: byte;

    Begin

    Write (‘введите размерность массивов:’) ;

    Readln (n) ;

    For i:=1 to n do

    Readln (a[i]) ;

    For i:=1 to n do

    Readln (b[i]) ;

    For i:=1 to n do

    C[i]:=a[i]+b[i];

    For i:=1 to n do

    write (c[i],’ ‘) ;

    end.

    Двумерные массивы

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

    Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел - номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a12 - это элемент, стоящий в первой строке и во втором столбце.

    Существуют несколько способов объявления двумерного массива.

    Способ 1. В Паскале двумерный массив можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведённой выше:

    Const n = 2; m = 3; Type omyarray = Array[1 ... m] Of; dmyarray = Array[1 ... n] Of omyarray; Var v : omyarray; a : dmyarray;

    В данном случае переменная v объявлена как одномерный массив из трёх элементов вещественного типа. Переменная а описана как двумерный массив из двух строк, каждую из которых включено по три элемента.

    Способ 2. Описание массива А можно сократить, исключив определение типа omyarray в определении типа dmyarray:

    Const n = 2; m = 3; Type dmyarray = Array[1 ... n, 1 ... m] Of; Var a : dmyarray.

    Способ 3. Ещё более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива:

    Const n = 2; m = 3; Type dmyarray = Array[1 ... n, 1 ... m] Of;

    Var a : dmyarray.

    Если указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных:

    Var a: Array [1 ... n, 1 ... m] Of.

    Рассмотренные выше методы решения задач обработки одномерных массивов могут применяться для обработки двумерных массивов. Поскольку положение элемента в двумерном массиве описывается двумя индексами [первый - номер строки, второй - номер столбца], программы большинства матричных задач строятся на основе вложенных циклов. Обычно внешний цикл работает по строкам матрицы, то есть с его помощью выбирается требуемая строка матрицы, а внутренний цикл - по столбцам матрицы, то есть здесь выбирается нужный элемент из выбранной уже строки.

    Пример 2:

    Program massiv;

    Const n = 3; m = 4;

    Type massiv = Array[1 ... n., 1 ... m] of integer;

    Var A : massiv;

    I, j:integer;

    Begin

    For i:=1 To n Do

    For j:=1 To m Do

    x[i, j]:=-25+Random (51) ;

    For i:=1 To n Do

    Begin

    For j:=1 To n Do Write (x[i, j]:5) ;

    Writeln;

    End;

    End.

    P. S. Сможешь сам?
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Ввести матрицу А размерностью 3*n. B (n*3). Найти матрицу С (3*n) = A (3*n) B (3*n). Найтм сумму чисел, находящихся в четных строках, ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы