function IsOrtho(a: array[,] of integer): boolean;
begin
var n := a.RowCount - 1;
for var row1 := 0 to n do
for var row2 := 0 to n do
begin
var s := 0;
for var col := 0 to n do
s += a[row1, col] * a[row2, col];
if (row1 = row2) and (s <> 1) then
begin
IsOrtho := False;
Exit
end;
if (row1 <> row2) and (s <> 0) then
begin
IsOrtho := False;
Exit
end
end;
IsOrtho := True
end;
begin
var n := 5;
var a := ReadMatrInteger(n, n);
if IsOrtho(a) then
Println('Ортонормированная')
else
Println('Не ортонормированная')
end.
На pascalabc.net
1) Векторные графические редакторы:
Embroidermodder.
Inkscape.
Ipe.
Karbon14.
LibreOffice Draw.
OpenOffice Draw.
sK1.
Skencil.
2) Растровые графические редакторы:
darktable.
digiKam.
F-Spot.
GIMP.
GNU Paint.
GrafX2.
GraphicsMagick.
ImageMagick.
3) Недостатки растровой графики:
Изображения, создаваемые в растровых программах, всегда занимают много памяти. По этой причине информация в файлах растрового формата хранится, как правило, в сжатом виде. Растровые изображения невозможно увеличивать для уточнения деталей.
Основным недостатком векторной графики является отсутствие реалистичности изображения. В растровых картинках каждый пиксель может быть окрашен отдельным цветом, в векторных – закрашиваются целые объекты.
1) переменная P не нужна
2) переменная s отсутствует в разделе описания переменных
3) индексы массива в разделе описания переменных не соотносятся с циклами
4) неправильно написан randomiz
5) ненужные точки с запятой после do
6) неправильный оператор присваивания у s
7) неверно оформленный вывод данных
Объяснение:
Примерный вариант программы с исправлениями:
program n_3;
var i,s:integer;
a: array[1..15] of integer;
begin
s:=0;
randomize;
for i:=1 to 15 do a[i]:=random(10);
for i:=1 to 15 do s:=s+a[i];
writeln('s=',s)
end.
Возможно, отсутствие вывода элементов массива, тоже можно считать ошибкой.
#include <iostream>
#include <time.h>
using namespace std;
double ssummaf(double array2[5][5], size_t m, size_t i, size_t j)
{
double s = 0;
for (size_t k = 0; k < m; k++)
s += array2[i][k] * array2[j][k];
return s;
}
bool proverka(double array1[5][5], size_t n, size_t m)
{
double s = 0;
for (size_t i = 0; i < n; i++) {
size_t j = i;
s = ssummaf(array1, m, i, j);
if (s != 1)
return false;
for (size_t j = i + 1; j < n; j++) {
s = ssummaf(array1, m, i, j);
if (s != 0)
return false;
}
}
return true;
}
int main() {
srand(time(0));
setlocale(LC_ALL, "Russian");
double A[5][5], B[5][5], C[5][5];
double D[5][5]{ {1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,1,0},{0,0,0,0,1} };
for (size_t i = 0; i < 5; i++) {
for (size_t j = 0; j < 5; j++)
A[i][j] = rand() % 2;
}
for (size_t i = 0; i < 5; i++) {
for (size_t j = 0; j < 5; j++)
B[i][j] = A[j][i];
}
for (size_t i = 0; i < 5; i++) {
for (size_t j = 0; j < 5; j++)
cout << " " << A[i][j];
cout << endl;
}
cout << endl;
for (size_t i = 0; i < 5; i++) {
for (size_t j = 0; j < 5; j++)
cout << " " << B[i][j];
cout << endl;
}
bool answer1 = proverka(A, 5, 5);
bool answer2 = proverka(D, 5, 5);
if (answer1)
cout << "Ортонормирована\n";
else
cout << "Не ортонормирована\n";
if (answer2)
cout << "Ортонормирована\n";
else
cout << "Не ортонормирована\n";
return 3;
}