nickname0091
?>

Заменить последний элемент массива кратный 5 нулем паскаль ​

Информатика

Ответы

YelenaZOLTANOVICh105

ответ:

=

объяснение:

const

  nmax=100;

type

  tarr=array[1..nmax] of integer;

var

  a: tarr;

  i,n: integer;

begin

  randomize;

  repeat

    write('razmer massiva, ne bolee ',nmax,': ');

    readln(n);

  until n in [1..nmax];

  writeln('ishodniy massiv: ');

  for i: =1 to n do

    begin

      a[i]: =random(50);

      write(a[i]: 4);

    end;

  writeln;

  i: =1;

  while (i< =n) and (a[i] mod 5< > 0) do

    inc(i);

  if i> n then

    writeln('net elementov kratyh 5')

  else  

    begin

      a[i]: =0;

      writeln('poluchenniy massiv: ');

      for i: =1 to n do

        write(a[i]: 4);

      writeln;

    end;

end.

myudanova631

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

Матрица - это множество чисел, сгруппированных в колонки и столбцы. Здесь изображены две матрицы: Матрица А и Матрица В.

56_1.gif (1163 b)

Матрица А - это матрица 2х3 (то есть у нее две строки и три столбца), тогда как матрица В - это матрица 3х3. Мы можем получить доступ к элементу матрицы А, используя запись А[m,n], где m - это строка, а n - столбец. Элемент в верхнем углу матрицы А будет обозначаться А[0,0] и он равен единице.

Произведение операций над матрицами

Вы можете производить большинство операций над матрицами так же, как Вы оперируете и с нормальными числами. Например, Вы можете их складывать или вычитать, соответственно складывая или вычитая каждый из компонентов.

Для примера, рассмотрим сложение двух матриц размерностью 2х3 - матрицы А и матрицы С:

56_2.gif (650 b)

При сложении матриц А и С нужно складывать каждый из элементов m, n. Суммы элементов займут в результирующей матрице соответствующие места:

56_3.gif (896 b)

Мы также можем умножить матрицу на скаляр k. Например, чтобы умножить матрицу А на 3, мы должны умножить на 3 каждый ее элемент.

56_4.gif (725 b)

Теперь поговорим об умножении двух матриц. Эта операция немного отличается от умножения на скалярную величину. Вы должны запомнить несколько правил:

Количество столбцов в первой матрице (n) должно быть равно количеству строк во второй (также n). Это значит, что если размерность первой матрицы (m x n), то размерность второй матрицы должна быть (n x r). Два остальных измерения m и к могут быть любыми.

Произведение матриц не коммутативно, то есть А х В не равно В х А.

Умножение матрицы m x n на матрицу n x r может быть описано алгоритмически следующим образом:

Для каждой строки первой матрицы:

Умножить строку на столбец другой матрицы поэлементно. Сложить полученный результат;

Поместить результат в позицию [i,j] результирующей матрицы, где i - это строка первой матрицы, а j - столбец второй матрицы.

Для простоты посмотрите на рисунок:

56_5.gif (4629 b)

Мы можем это сделать намного проще, написав программу на Си. Давайте определим матрицу 3х3 и напишем функцию, умножающую матрицы. Ниже показан исходный код:

// общая структура матрицы

typedef struct matrix_typ

{

float elem[3][3]; // место для хранения матрицы

} matrix, *matrix_ptr;

void Mat_Mult3x3(matrix_ptr matrix_1, matrix_ptr matrix_2,

matrix_ptr result)

{

index i, j, k;

for(i=0; i < 3; j++)

{

for(j=0; j < 3; j++)

{

result[i][j] = 0; // инициализация элемента

for(k = 0; k < 3; k++)

{

result->elem[i][j] += matrix_1->elem[i][k]

* matrix_2->elem[k][j];

} // конец цикла по k

} // конец цикла по j

} // конец цикла по i

} // конец функции

Единичная матрица

Прежде чем закончить говорить о матрицах, скажем еще об одной вещи: о единичной матрице. Не углубляясь в математические термины, я хочу сказать, что нам нужна такая матрица, умножая на которую мы получали бы исходную матрицу.

Говоря попросту, нам нужно иметь матрицу размерностью

Serkova_Elena251

int **arr, n, m; cout < < "n : "; cin > > n; cout < < "m : "; cin > > m; arr = new int *[n]; for(int i = 0; i < m ; i++)arr[i] = new int [m];

for(int i = 0; i < n ; i++)for(int j = 0; j < m ; j++)arr[i][j] = rand() % 150; cout < < "your array : " < < endl; for(int i = 0; i < n ; i++){for(int j = 0; j < m ; j++)cout < < arr[i][j] < < "\t"; cout < < endl; }cout < < "your new array : " < < endl; for(int i = 0; i < n ; i++){for(int j = 0; j < m ; j++)cout < < arr[j][i] < < "\t"; cout < < endl;

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Заменить последний элемент массива кратный 5 нулем паскаль ​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Манько_Панферов
Neveselova
zeltos384
Vitalevich
myhauz
Lomakina-Valerievna1779
Shamsulo
kashihina
Эрендженова
nikitavertiev98400
kbndbyb6
Yurevich
sergeevna
volodinnikolay19
zoomagazinkotmatroskin