Команда For:
For x:=1 to 9 do Writeln(x)
Команда While:
x:=-5;
While x<9 do
begin
y:=abs(x);
Writeln(y);
x:=x+1
end;
Объяснение:
Цикл For:
For переменная-счетчик := начальное значение to конечное значение do
For x:=1 to 9 do
x - переменная-счетчик
1 - начальное (минимальное) значение переменной-счетчика
9 - конечное (максимальное) значение переменной-счетчика
начальное значение <= конечного значения (если это не так, то тело цикла не выполнится ни разу)
В цикле переменная-счетчик автоматически увеличивается на 1 каждый раз при выполнении тела цикла, пока не достигнет конечного значения включительно.
В цикле While переменную надо увеличивать (или уменьшать) в теле цикла, но зато это можно делать на нужный шаг.
Поделитесь своими знаниями, ответьте на вопрос:
Опис свого робочого місця за пк, і які я правила порушую
#include <stdio.h>
#include <windows.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int const n=3;
int mas[n][n];
int sum1, sum2;
bool magik;
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
{
printf("mas[%d][%d] = ", i+1, j+1);
scanf("%d",&mas[ i ][ j ]);
}
printf("\nВведенная матрица:\n");
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
printf("%d ",mas[ i ][ j ]);
}
printf("\n");
}
sum1=0;
sum2=0;
for (int i = 0; i<n; i++)
{
sum1 += mas[ i ][ i ];
sum2 += mas[ i ][ n-1-i ];
}
printf("Сумма главной диагонали = %d\n", sum1);
printf("Сумма побочной диагонали = %d\n", sum2);
magik = true;
for (int i=0; i<n; i++)
{
if (sum1==sum2)
{
sum2=0;
for (int j=0; j<n; j++)
{
sum2 += mas[ i ][ j ];
}
} else { magik=false; break; }
}
if (magik==true)
{
for (int i=0; i<n; i++)
{
if (sum1==sum2)
{
sum2=0;
for (int j=0; j<n; j++)
{
sum2 += mas[ j ][ i ];
}
}
else { magik=false; break; }
}
}
if (magik==true)
printf("\nМатрица является магическим квадратом\n");
else
printf("\nМатрица не является магическим квадратом\n");
system("pause");
return 0;
}