1) 511
2) 584
Объяснение:
1) Максимальным трёхзначным числом в восьмеричной системе счисления является 777
777₈ = 7 * 8² + 7 * 8¹ + 7 * 8⁰ = 7 * 64 + 7 * 8 + 7 * 1 = 511₁₀
2)
547₈
+
341₈
---------
1110₈
7 + 1 = 10 (0 пишем, 1 в уме)
4 + 4 = 10 10 + 1 (который был в уме) = 11 (1 пишем, 1 в уме)
5 + 3 = 10 10 + 1 (который был в уме) = 11 (пишем 11)
Полную таблицу сложения в 8 системе счисления смотри на картинке
1110₈ = 1 * 8³ + 1 * 8² + 1 * 8¹ + 0 * 8⁰ = 1 * 512 + 1 * 64 + 1 * 8 + 0 * 1 = 512 + 64 + 8 = 584₁₀
или
547₈ = 5 * 8² + 4 * 8¹ + 7 * 8⁰ = 5 * 64 + 4 * 8 + 7 * 1 = 320 + 32 + 7 = 359₁₀
341₈ = 3 * 8² + 4 * 8¹ + 1 * 8⁰ = 3 * 64 + 4 * 8 + 1 * 1 = 192 + 32 + 1 = 225₁₀
359₁₀ + 225₁₀ = 584₁₀
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
int main()
{
int i, j, sum=0, n, m, p=1;
cout<<"Введите количество строк:"<<endl;
cin >> n;
cout<<"Введите количество столбцов:"<<endl;
cin >> m;
int k=i, h=j;
int a[n][m];
int max = a[0][0];
cout<<"Исходный массив:"<<endl;
for (i=0; i<n;i++)
for (j=0;j<m;j++)
a[i][j]=-10 + rand()%20;
cout<<a[i][j]<<" ";
}
cout<<endl;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
sum += a[i][j];
cout<<"Сумма "<<i<<" строки равна: "<<sum<<endl;
sum = 0;
p *= a[i][j];
cout<<"Произведение "<<j<<" столбца равно: "<<p<<endl;
p = 1;
for(k=0, h=0; k<n && h<m; k++, h++)
if(a[k][h]>max)
max = a[k][h];
cout<<"Наибольшее число на главной диагонали: "<<max<<endl;
1) 511
2) 584
Объяснение:
1) Максимальным трёхзначным числом в восьмеричной системе счисления является 777
777₈ = 7 * 8² + 7 * 8¹ + 7 * 8⁰ = 7 * 64 + 7 * 8 + 7 * 1 = 511₁₀
2)
547₈
+
341₈
---------
1110₈
7 + 1 = 10 (0 пишем, 1 в уме)
4 + 4 = 10 10 + 1 (который был в уме) = 11 (1 пишем, 1 в уме)
5 + 3 = 10 10 + 1 (который был в уме) = 11 (пишем 11)
Полную таблицу сложения в 8 системе счисления смотри на картинке
1110₈ = 1 * 8³ + 1 * 8² + 1 * 8¹ + 0 * 8⁰ = 1 * 512 + 1 * 64 + 1 * 8 + 0 * 1 = 512 + 64 + 8 = 584₁₀
или
547₈ = 5 * 8² + 4 * 8¹ + 7 * 8⁰ = 5 * 64 + 4 * 8 + 7 * 1 = 320 + 32 + 7 = 359₁₀
341₈ = 3 * 8² + 4 * 8¹ + 1 * 8⁰ = 3 * 64 + 4 * 8 + 1 * 1 = 192 + 32 + 1 = 225₁₀
359₁₀ + 225₁₀ = 584₁₀
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
int main()
{
int i, j, sum=0, n, m, p=1;
cout<<"Введите количество строк:"<<endl;
cin >> n;
cout<<"Введите количество столбцов:"<<endl;
cin >> m;
int k=i, h=j;
int a[n][m];
int max = a[0][0];
cout<<"Исходный массив:"<<endl;
for (i=0; i<n;i++)
{
for (j=0;j<m;j++)
{
a[i][j]=-10 + rand()%20;
cout<<a[i][j]<<" ";
}
cout<<endl;
}
for (i = 0; i < n; i++)
{
{
for (j = 0; j < m; j++)
{
sum += a[i][j];
}
cout<<"Сумма "<<i<<" строки равна: "<<sum<<endl;
sum = 0;
}
}
for (j = 0; j < m; j++)
{
for (i = 0; i < n; i++)
{
p *= a[i][j];
}
cout<<"Произведение "<<j<<" столбца равно: "<<p<<endl;
p = 1;
}
for(k=0, h=0; k<n && h<m; k++, h++)
{
if(a[k][h]>max)
{
max = a[k][h];
}
}
cout<<"Наибольшее число на главной диагонали: "<<max<<endl;