#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. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.
#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;
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
(1)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
(1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.