Есть ответ 👍

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

150
353
Посмотреть ответы 2

Ответы на вопрос:


Массивы массив – это совокупность данных, обозначаемых одним именем, доступ к элементам массива осуществляется по их номерам (индексам). элементами массива могут быть данные любого типа, включая структурированные, но в одном массиве могут храниться данные только одного типа (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. сможешь  сам?
halelaiwi
4,6(77 оценок)

1. рассмотрим вариант построения числа 1715 при условии a+b=17, b+c=15. число 17 можно получить только двумя способами: 9+8=17 и 8+9=17. отсюда получаем два варианта: (a=9; b=8) и (a=8; b=9).          (1) число 15 можно получить тоже двумя способами, полагая, что одно из слагаемых (b) равно 8 или 9: 9+6 и 8+7, что тоже дает два варианта: (b=9; c=6) и (b=8; c=7).                                                                          (2) объединяя (1) и (2) получаем (a=9; b=8; c=7) и (a=8; b=9; c=6), т.е. у нас по-прежнему есть два варианта решения. 2. теперь рассмотрим вариант построения числа 1715 при условии a+b=15, b+c=17 и 17, 15 по убыванию. легко видеть, что решение будет "симметричным": (a=7; b=8; c=9) и (a=6; b=9; c=8) и это также даст нам два варианта. 3. объединяя результат получаем, что всего имеется четыре решения, т.е. четыре числа (698, 789, 896, 987). ответ: 4 числа. проверка решения программным путем (borland pascal 7.0) uses crt; var   a,b,c,ab,bc,t,k: byte;   s1,s2: string; begin   clrscr;   k: =0;   for a: =0 to 9 do   for b: =0 to 9 do   for c: =0 to 9 do   begin       ab: =a+b; bc: =b+c;       if ab< bc then begin t: =ab; ab: =bc; bc: =t end;       str(ab,s1); str(bc,s2);       if s1+s2='1715' then begin writeln(a,b,c); inc(k) end   end;   writeln('kol-vo=',k);   readkey end. результат выполнения программы: 698 789 896 987 kol-vo=4

Популярно: Информатика