кто знает . Напишите программу, которая разделяет натуральные числа на сотые от числа с запятыми (считая справа).
Программа принимает на вход натуральное число.
Если число состоит менее чем из трех символов, программа отображает текст НЕТ.
Пример работы программы.
Исходные данные: 14875
Выходные данные: 14,875
Исходные данные: 148
Выходные данные: НЕТ
var a : array [1..3, 1..4] of integer
b : array [1..3] of integer
Max, i, j : integer
BEGIN
crt;
for i:=1 to 3 do
begin
for j:=1 to 4 do
begin
read (a[i, j]); // вводим элементы в массив a[1..3, 1..4]
end;
writeln; // делаем пустой перевод строки
end;
for i:=1 to 3 do
begin
b[i] := a[i, 1];
for j:=1 to 4 do
begin
if a[i, j] > b[i] then b[i] := a[i, j];
// находим максимальный элемент в каждой строке и записываем в b[1..3]
end;
end;
Max := b[1];
for i:=1 to 3 do if b[i] > Max then Max := b[i];
// Находим максимальный элемент из максимальных элементов
writeln (Max); // Выводим его на экран
END.
Объяснение:
#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int N, A, B;
cin >> N;
vector < vector <int>> IO;
int lastDay = 0;
for (int i = 0; i < N; i++) {
cin >> A >> B;
IO.push_back(vector<int>());
IO[i].push_back(A);
IO[i].push_back(B);
IO[i].push_back(i);
}
sort(IO.begin(), IO.end());
for (int i = 0; i < N; i++)
{
if (lastDay >= IO[i][1]) {
IO[i][0] = -1;
IO[i][1] = -1;
}
else {
if (lastDay < IO[i][0]) {
lastDay = IO[i][1];
}
else if (lastDay >= IO[i][0]) {
IO[i][0] = lastDay+1;
lastDay = IO[i][1];
}
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (IO[j][2] == i) {
cout << IO[j][0] << " " << IO[j][1] << endl;
break;
}
}
}
return 0;
}