Разберем оператор по шагам. Обозначим Т - промежуточный результат операции. y:= round(y*(7 div 4) mod 7/3)/y - trunc(0.724); 1) T:= 7 div 4 ⇒ T:=1, тип T целочисленный. 2) T:=y*T, тип Т определяется типом y. 3) T:=T mod 7, в операции mod операнды могут быть только целочисленными, следовательно, тип у в 2) может быть только целочисленным, иначе мы получим на данном шаге ошибку. Результат операции - Т целочисленного типа. 4) T:=T/3; T - вещественного типа. 5) T;=round(T); T - целочисленного типа. 6) T:=T/y, T - вещественного типа. 7) Trunc(0.724) вернет 0 целочисленного типа. 8) Т:=T-0 не изменит значения и типа Т: Т по-прежнему остается вещественным. 9) y:=T; для корректного присваивания y должен иметь вещественный тип, но это, как указано в 3), вызовет ошибку при выполнении 2).
Итог: оператор недопустим и будет отмечен ошибочным при компиляции.
#include <iostream>
using namespace std;
int main(void)
{const int n=3;
const int m=3;
int ma[n][m];
int c;
cout<<"First matrix"<<endl;
for(int i=0;i<n;i++)
{for(int j=0;j<m;j++)
{ma[i][j]=i+j;
cout<<ma[i][j]<<" ";}
cout<<endl;}
for(int i=0;i<n/2;i++){
for(int j=0;j<m;j++)
{c=ma[i][j];
ma[i][j]=ma[n-i-1][j];
ma[n-1-i][j]=c;}}
cout<<"Final matrix"<<endl;
for(int i=0;i<n;i++)
{for(int j=0;j<m;j++)
cout<<ma[i][j]<<" ";
cout<<endl;}
return 0;
}
Пример работы программы(n=3,m=3):
First matrix:
0 1 2
1 2 3
2 3 4
Final matrix:
2 3 4
1 2 3
0 1 2
y:= round(y*(7 div 4) mod 7/3)/y - trunc(0.724);
1) T:= 7 div 4 ⇒ T:=1, тип T целочисленный.
2) T:=y*T, тип Т определяется типом y.
3) T:=T mod 7, в операции mod операнды могут быть только целочисленными, следовательно, тип у в 2) может быть только целочисленным, иначе мы получим на данном шаге ошибку. Результат операции - Т целочисленного типа.
4) T:=T/3; T - вещественного типа.
5) T;=round(T); T - целочисленного типа.
6) T:=T/y, T - вещественного типа.
7) Trunc(0.724) вернет 0 целочисленного типа.
8) Т:=T-0 не изменит значения и типа Т: Т по-прежнему остается вещественным.
9) y:=T; для корректного присваивания y должен иметь вещественный тип, но это, как указано в 3), вызовет ошибку при выполнении 2).
Итог: оператор недопустим и будет отмечен ошибочным при компиляции.