#include <iostream>
#include <time.h> // для time()
//функция сортировки
void sort(double** _base_mas, double** _copy_mas, int n, int m)
{
// копируем из базового в под запись
for (long long jjj = 0; jjj < long long(n) * m; jjj++)
*(*(_copy_mas + jjj / n) + jjj % n) = *(*(_base_mas + jjj / n) + jjj % n);
// сортируем
for (long long kkk = 0; kkk < long long(n) * m; kkk++)
for (long long jjj = 1; jjj < long long(n) * m; jjj++) {
double& first = *(*(_copy_mas + (jjj - 1) / n) + (jjj - 1) % n);
double& second = *(*(_copy_mas + jjj / n) + jjj % n);
if (first < second) std::swap(first, second);
}
// конструкция избежать переполнение на байтовом уровне (из 4 в 8)
int main() {
srand(time(0));
int n;
int m;
std::cout << "Enter length: ";
std::cin >> n;
std::cout << "Enter height: ";
std::cin >> m;
double** base_mas = new double* [m]; // исходный массив
double** copy_mas = new double* [m]; // массив под запись
std::cout << "befor:" << std::endl;
for (int jjj = 0; jjj < m; jjj++) {
base_mas[jjj] = new double[n];
copy_mas[jjj] = new double[n];
// заполняем исходный массив случайными числами и выводим в консоль
for (int kkk = 0; kkk < n; kkk++)
base_mas[jjj][kkk] = rand() % 101;
std::cout << base_mas[jjj][kkk] << '\t';
std::cout << std::endl;
sort(base_mas, copy_mas, n, m);
// выводим результат
std::cout<<"\nafter:" << std::endl;
for (int kkk = 0; kkk < n; kkk++) {
std::cout << copy_mas[jjj][kkk] << '\t';
// овобождаем память (хотя т.к конец программы делать не обязательно)
delete[] base_mas[jjj];
delete[] copy_mas[jjj];
delete[] base_mas;
delete[] copy_mas;
Держи ;)
Var year,s,y,o:integer; old,young,name,nation:string;
Begin
s:=0;
o:=0;
y:=200;
While (s=0) do
Write('Введите имя и фамилию участника. Если список окончен, напишите "конец": ');
Readln(name);
If (name='конец') then break;
Write('Введите национальность участника: ');
Readln(nation);
Write('Введите возраст участника: ');
Readln(year);
If (year > o) and (nation='русский') then
o:=year;
old:=name;
end;
If (year < y) and (nation='русский') then
y:=year;
young:=name;
Write('Самый молодой русский участник - ',young,', самый старый русский участник - ',old);
End.
#include <iostream>
#include <time.h> // для time()
//функция сортировки
void sort(double** _base_mas, double** _copy_mas, int n, int m)
{
// копируем из базового в под запись
for (long long jjj = 0; jjj < long long(n) * m; jjj++)
*(*(_copy_mas + jjj / n) + jjj % n) = *(*(_base_mas + jjj / n) + jjj % n);
// сортируем
for (long long kkk = 0; kkk < long long(n) * m; kkk++)
for (long long jjj = 1; jjj < long long(n) * m; jjj++) {
double& first = *(*(_copy_mas + (jjj - 1) / n) + (jjj - 1) % n);
double& second = *(*(_copy_mas + jjj / n) + jjj % n);
if (first < second) std::swap(first, second);
}
// конструкция избежать переполнение на байтовом уровне (из 4 в 8)
}
int main() {
srand(time(0));
int n;
int m;
std::cout << "Enter length: ";
std::cin >> n;
std::cout << "Enter height: ";
std::cin >> m;
double** base_mas = new double* [m]; // исходный массив
double** copy_mas = new double* [m]; // массив под запись
std::cout << "befor:" << std::endl;
for (int jjj = 0; jjj < m; jjj++) {
base_mas[jjj] = new double[n];
copy_mas[jjj] = new double[n];
// заполняем исходный массив случайными числами и выводим в консоль
for (int kkk = 0; kkk < n; kkk++)
{
base_mas[jjj][kkk] = rand() % 101;
std::cout << base_mas[jjj][kkk] << '\t';
}
std::cout << std::endl;
}
// сортируем
sort(base_mas, copy_mas, n, m);
// выводим результат
std::cout<<"\nafter:" << std::endl;
for (int jjj = 0; jjj < m; jjj++) {
for (int kkk = 0; kkk < n; kkk++) {
std::cout << copy_mas[jjj][kkk] << '\t';
}
std::cout << std::endl;
}
// овобождаем память (хотя т.к конец программы делать не обязательно)
for (int jjj = 0; jjj < m; jjj++) {
delete[] base_mas[jjj];
delete[] copy_mas[jjj];
}
delete[] base_mas;
delete[] copy_mas;
}
Держи ;)
Var year,s,y,o:integer; old,young,name,nation:string;
Begin
s:=0;
o:=0;
y:=200;
While (s=0) do
Begin
Write('Введите имя и фамилию участника. Если список окончен, напишите "конец": ');
Readln(name);
If (name='конец') then break;
Write('Введите национальность участника: ');
Readln(nation);
Write('Введите возраст участника: ');
Readln(year);
If (year > o) and (nation='русский') then
Begin
o:=year;
old:=name;
end;
If (year < y) and (nation='русский') then
Begin
y:=year;
young:=name;
end;
end;
Write('Самый молодой русский участник - ',young,', самый старый русский участник - ',old);
End.