#include <iostream>
#include <iomanip>
using namespace std;
int** matrCreate(int n)
{
int** M;
M = new int *[n];
for (int i = 0; i < n; i++)
M[i] = new int [n];
return M;
}
void matrInit(int** M, int n)
{
srand(time(0));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
M[i][j] = rand()%199 - 99 ;
}
void matrPrint(int** M, int n)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
cout << setw(5) << M[i][j];
cout << endl;
}
}
void matrTransform(int** M, int n)
{
int im, jm, max = -1000, s = 0;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if (M[i][j] > max)
{
max = M[i][j];
im = i;
jm = j;
}
if (i == j)
s += M[i][j];
}
}
M[im][jm] = s;
}
void clearMem(int** M, int n)
{
for (int i = 0; i < n; i++)
{
delete [] M[i];
}
delete [] M;
}
int main()
{
int n;
cin >> n;
int **A;
A = matrCreate(n);
matrInit(A, n);
matrPrint(A, n);
cout << endl;
matrTransform(A, n);
matrPrint(A, n);
clearMem;
return 0;
}
program raf105;
var abc,ab,bc:integer;
begin
write('Введите трёхзначное число: ');
readln(abc);
ab:= abc mod 100;
bc:= abc div 10;
if ab = bc
then writeln('Число состоит из одинаковых цифр')
else writeln('Число не состоит из одинаковых цифр');
end.
ОбъяснениеДля выполнения задачи достаточно найти первые 2 цифры и последние 2 цифры если они равны, то число состоит из одинаковых цифр
abc mod 100 Убирает все сотни из числа.
Например было число 123, стало 23.
482 стало 82
abc div 10 Считает сколько в числе целых десяток, но не считает остаток.
Например было число 123, стало 12
482 стало 48
Сравнивание 2 первых и 2 последних цифр
253 25 и 53 не равны, значит число не состоит из одинаковых цифр
121 12 и 21 не равны, значит число не состоит из одинаковых цифр
111 11 и 11 равны, значит число состоит из одинаковых цифр
226.185.90.162
и записываем друг под другом
11111111.11111111.11111100.00000000
11100010.10111001.01011010.10100010 находим конъюнкцию поразрядно
11100010.10111001.01011000.00000000 и переводим обратно в 10 сс
226.185.88.0