Program msdos_2;
uses crt;
var
a:array[1..3] of integer; //массив трёх максимальных элементов
r,max,i,j: integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
r:=1;
writeln('Введите ненулевое число');
writeln('(или введите 0 для конца последовательности) ');
{вводим 3 первых элемента}
for i:=1 to 3 do
begin
write('Ввод:');
readln (r);
a[i]:=r;
end;
{сортируем массив из 3-х первых элементов}
for i:=1 to 2 do
begin
max:=a[i];
for j:=i+1 to 3 do
if a[j]>max then
max:=a[j];
a[j]:=a[i];
a[i]:=max;
end;
{Продолжаем ввод и сравниваем текущее число с массивом из 3-х первых}
while r<>0 do
begin
write('Ввод:');
readln (r);
if r>a[1] then
begin
a[3]:=a[2];
a[2]:=a[1];
a[1]:=r;
end
else
if r>a[2] then
begin
a[3]:=a[2];
a[2]:=r;
end
else
if r>a[3] then
a[3]:=r;
end;
{выводим 3 максимальных элемента}
writeln();
writeln('Три наибольших элемента массива:');
for i:=1 to 3 do
writeln(i,'-й: ',a[i]);
end.
#include <iostream>
#include <string>
using namespace std;
string fn(unsigned value, unsigned base) {
static string box;
if (!value) {
auto x = box;
box.clear();
return string(x.rbegin(), x.rend());
}
box += to_string(value % base);
value /= base;
return fn(value, base);
}
int main() {
unsigned base, value;
cin >> base >> value;
auto result = fn(value, base);
cout << value << "(10)=" << result << "("<< base << ")\n";
system("pause > nul");
}
Объяснение:
using namespace std;
int reduce_fraction(int n, int m)
{
if (m == 0) {
return n;
}
return reduce_fraction(m, n % m);
}
int main()
{
int num, dem;
cout << "Nominator: ";
cin >> num;
cout << "Denominator: ";
cin >> dem;
int nod = reduce_fraction(num, dem);
cout << num << '/' << dem << " => " << (num / nod) << '/' << (dem / nod) <<
endl;
return 0;
}