1)
#include <iostream>
#include <time.h>
using namespace std;
int** input_array_auto(int** mat, int n, int m) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
mat[i][j] = rand() % 200 - 100;
}
}
return mat;
}
int** input_array(int** mat, int n, int m) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
cin >> mat[i][j];
}
}
return mat;
}
void print_array(int** mat, int n, int m) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
printf("%4.0d", mat[i][j]);
}
cout << endl;
}
cout << endl;
}
void swap_first_and_second(int** mat, int n, int m) {
for (size_t i = 0; i < m; i++) {
swap(mat[i][0], mat[i][n - 1]);
}
}
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(NULL));
int n, m;
cout << "Введите количество строк: ";
cin >> n;
cout << "Введите количество столбцов: ";
cin >> m;
int** array = new int* [n];
for (size_t i = 0; i < n; i++) {
array[i] = new int[m];
}
array = input_array_auto(array, n, m);
print_array(array, n, m);
swap_first_and_second(array, n, m);
print_array(array, n, m);
delete[] array;
}
2)
#include <iostream>
#include <time.h>
using namespace std;
int** input_array_auto(int** mat, int n, int m) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
mat[i][j] = rand() % 200 - 100;
}
}
return mat;
}
int** input_array(int** mat, int n, int m) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
cin >> mat[i][j];
}
}
return mat;
}
void print_array(int** mat, int n, int m) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
cout << mat[i][j] << " ";
}
cout << endl;
}
cout << endl;
}
int* find_max_value_by_cols_to_array(int** mat, int n, int m) {
int* max = new int[m];
int max1;
for (size_t j = 0; j < m; j++) {
int max1 = -100;
for (size_t i = 0; i < n; i++) {
if (mat[i][j] > max1) {
max1 = mat[i][j];
}
}
cout << "Максимум в " << j << " столбце равно: " << max1 << endl;
max[j] = max1;
}
return max;
}
long pow_maximums(int* max, int m) {
long max_long_int = 1;
for (size_t i = 0; i < m; i++) {
max_long_int *= max[i];
}
return max_long_int;
}
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(NULL));
int n = 5, m = 5;
int** array = new int* [n];
for (size_t i = 0; i < n; i++) {
array[i] = new int[m];
}
array = input_array_auto(array, n, m);
print_array(array, n, m);
long pow_maximum = pow_maximums(find_max_value_by_cols_to_array(array, n, m), m);
cout << "Перемножение максимумов равно: " << pow_maximum;
}
uses crt;
const
gl=['к','п','с','т','ф','х','ц','ч','ш','щ','К','П','С','Т','Ф','Х','Ц','Ч','Ш','Щ'];{глухие согласные}
bk:string='КкПпСсТтФфХхЦцЧчШшЩщ';
type mnoz=set of char;
var s,s1:string;
m:array[1..100] of mnoz;{массив множеств}
mn,mn1:mnoz;
n,i,j:byte;
begin
clrscr;
repeat
writeln('Введите текст на русском языке, между словами пробелы:');
readln(s);
if pos(' ',s)=0 then
writeln('В предложении только одно слово. Повторите ввод.');
until pos(' ',s)>0;
s:=s+' ';{добавим пробел в конец}
n:=0;
while pos(' ',s)>0 do{создаем массив множеств}
begin
s1:=copy(s,1,pos(' ',s)-1);{копируем очередное слово}
n:=n+1;{считаем}
m[n]:=[];{создаем множество}
for j:=1 to length(s1) do
if s1[j] in gl then m[n]:=m[n]+[s1[j]];{из его букв по условию}
delete(s,1,pos(' ',s));{удаляем это слово}
end;
mn1:=[];{множество букв, не входящих только в одно число}
for i:=1 to n do{для каждого множества }
begin
mn:=[];
for j:=1 to n do
if j<>i then mn:=mn+m[j];{делаем множество из букв, котoрые входят в другие числа}
mn1:=mn1+(m[i]*mn);{добавляем буквы, которые есть и в других словах}
end;
if mn1=[] then writeln('Букв, которые не входят только в одно слово, нет!')
else
begin
writeln('Буквы, которые не входят только в одно слово:');
for i:=1 to length(bk) do{идем по алфавиту,
если буква есть в строке, но ее нет в котором по разу, выводим}
if (bk[i] in mn1) then write(bk[i],' ');
end;
readln
end.
Объяснение: