Реализация на VBA Excell Если есть офис, то можете запустить программу. Код увидеть Alt+F11
Sub massiv() строка = 3 'не обязательно,номер строки для начала вывода на лист n = Cells(2, 3) 'не обязательно, вводим количество чисел Dim B(10000) As Integer 'резервируем память на 10000 целых чисел S = 0 'обнуляем сумму For i = 1 To n 'Начало цикла k = Rnd(1) 'Генерируем случайное число в диапазоне (0;1) k = k * 9 + 12 'Смещаем его в диапазон [12;20] k = Int(k) 'обрезаем, оставляя целое B(i) = k 'заполняем массив S = S + k 'считаем сумму Cells(строка, 3) = строка - 2 'не обязательно, вывод номера значеня Cells(строка, 4) = k 'Не обязательно вывод значения строка = строка + 1 'не обязательно, увеличить строку для вывода Next i 'Конец цикла Cells(строка, 3) = "сумма =" 'не обязательно, выводим надпись Cells(строка, 4) = S 'не обязательно, выводим сумму End Sub
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016 var i,j,k,n:integer; a,b,c:array[,] of integer; begin Write('Число строк (столбцов) матрицы: '); Read(n); SetLength(a,n,n); SetLength(b,n,n); SetLength(c,n,n); Randomize; Writeln('Матрица A'); for i:=0 to n-1 do begin for j:=0 to n-1 do begin a[i,j]:=Random(90)+10; Write(a[i,j]:3) end; Writeln end; Writeln('Матрица B'); for i:=0 to n-1 do begin for j:=0 to n-1 do begin b[i,j]:=Random(90)+10; Write(b[i,j]:3) end; Writeln end; // умножение и вывод Writeln('Матрица C'); for i:=0 to n-1 do begin for j:=0 to n-1 do begin c[i,j]:=0; for k:=0 to n-1 do c[i,j]:=c[i,j]+a[i,k]*b[k,j]; Write(c[i,j]:6) end; Writeln end; end.
Var ma1,ma2,mar:array[1..n,1..n] of integer; i,j,z:integer; begin randomize; writeln('Matrix 1:'); for i:=1 to n do begin for j:=1 to n do begin ma1[i,j]:=random(10); write(ma1[i,j]:4); end; writeln; end; writeln('Matrix 2:'); for i:=1 to n do begin for j:=1 to n do begin ma2[i,j]:=random(10); write(ma2[i,j]:4); end; writeln; end; writeln('Final matrix:'); for i:=1 to n do begin for j:=1 to n do begin for z:=1 to n do mar[i,j]:=mar[i,j]+ma2[z,j]*ma1[i,z]; write(mar[i,j]:4); end; writeln; end; end.
//C вводом размерности
Var ma1,ma2,mar:array[,] of integer; i,j,z,n:integer; begin randomize; readln(n); setlength(ma1,n,n); setlength(ma2,n,n); setlength(mar,n,n); writeln('Matrix 1:'); for i:=0 to n-1 do begin for j:=0 to n-1 do begin ma1[i,j]:=random(10); write(ma1[i,j]:4); end; writeln; end; writeln('Matrix 2:'); for i:=0 to n-1 do begin for j:=0 to n-1 do begin ma2[i,j]:=random(10); write(ma2[i,j]:4); end; writeln; end; writeln('Final matrix:'); for i:=0 to n-1 do begin for j:=0 to n-1 do begin for z:=0 to n-1 do mar[i,j]:=mar[i,j]+ma2[z,j]*ma1[i,z]; write(mar[i,j]:4); end; writeln; end; end.
Если есть офис, то можете запустить программу.
Код увидеть Alt+F11
Sub massiv()
строка = 3 'не обязательно,номер строки для начала вывода на лист
n = Cells(2, 3) 'не обязательно, вводим количество чисел
Dim B(10000) As Integer 'резервируем память на 10000 целых чисел
S = 0 'обнуляем сумму
For i = 1 To n 'Начало цикла
k = Rnd(1) 'Генерируем случайное число в диапазоне (0;1)
k = k * 9 + 12 'Смещаем его в диапазон [12;20]
k = Int(k) 'обрезаем, оставляя целое
B(i) = k 'заполняем массив
S = S + k 'считаем сумму
Cells(строка, 3) = строка - 2 'не обязательно, вывод номера значеня
Cells(строка, 4) = k 'Не обязательно вывод значения
строка = строка + 1 'не обязательно, увеличить строку для вывода
Next i 'Конец цикла
Cells(строка, 3) = "сумма =" 'не обязательно, выводим надпись
Cells(строка, 4) = S 'не обязательно, выводим сумму
End Sub