Дана величина A, выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации. Составьте блок-схему алгоритма решения поставленной задачи.
Const n=5; var a:array[1..n,1..n] of integer; i,j,s1,s2:integer; b:boolean; begin for i:=1 to n do for j:=1 to n do read(a[i,j]);b:=true; s1:=0; for j:=1 to n do s1:=s1+a[1,j]; for i:=1 to n do begin s2:=0; for j:=1 to n do s2:=s2+a[i,j]; if s1<>s2 then b:=false; s2:=0; for j:=1 to n do s2:=s2+a[j,i]; if s1<>s2 then b:=false; end; if b then writeln('Матрица - магический квадрат') else writeln('Матрица не является магическим квадратом'); end.
#include <stdio.h>
int main(void)
{float a[10][10]={0},newar[100]={0},min=2147483647;
int i,j,n,c,coucurr=1,newn=0,boo=0;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{scanf("%f",&a[i][j]);
newar[newn]=a[i][j];
newn++;}
for(i=0;i<newn;i++)
{for(j=0;j<newn;j++)
if (newar[i]==newar[j] && i!=j)
coucurr++;
if (coucurr>1 && min>newar[i])
{min=newar[i]; boo=1;}
coucurr=1;}
if(boo)
printf("%f",min);
else
printf("Nothing");
return 0;}
Пример ввода:
3
1
2
2
3
3
3
4
4
4
Пример вывода:
2
var a:array[1..n,1..n] of integer;
i,j,s1,s2:integer;
b:boolean;
begin
for i:=1 to n do
for j:=1 to n do read(a[i,j]);b:=true;
s1:=0;
for j:=1 to n do s1:=s1+a[1,j];
for i:=1 to n do
begin
s2:=0;
for j:=1 to n do s2:=s2+a[i,j];
if s1<>s2 then b:=false;
s2:=0;
for j:=1 to n do s2:=s2+a[j,i];
if s1<>s2 then b:=false;
end;
if b then writeln('Матрица - магический квадрат')
else writeln('Матрица не является магическим квадратом');
end.
Пример 1:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9Матрица - магический квадрат
Пример 2:
15 24 1 8 17
5 23 7 14 16
22 4 6 13 20
10 12 19 21 3
11 18 2 25 9
Матрица не является магическим квадратом