Задача №6:
var
a, b: Integer;
begin
Read (a, b);
if a mod 2 = 1 then
WriteLn (a + b)
else
WriteLn (a * b)
end.
Задача №7:
var
x, y: Real;
begin
Read (x);
if x > 0 then
y := x - 12
else
if x < 0 then
y := sqr (x)
else
y := 5;
WriteLn (y)
end.
Объяснение: ничего не понятно про "наибольшие пары" и про сведение "наименьших" в квадрат, потому в 3 файл я отсеиваю наибольший элемент из пары, а в качестве сведения - я сортирую выводимые пары по 8 пар в строке, с пробелом меж ними (крч как в хекс-редакторах)
# include <iostream>
# include <fstream>
// количество элементов
const size_t _count = 20;
int main() {
// открываем и читаем 1 файл
std::ifstream file1("file1.bin", std::ios_base::binary);
char* buf1 = new char[_count];
file1.read(buf1, _count);
// открываем и читаем 2 файл
std::ifstream file2("file2.bin", std::ios_base::binary);
char* buf2 = new char[_count];
file2.read(buf2, _count);
// открываем 3 файл
std::ofstream file3("file3.bin", std::ios_base::binary);
char* buf3 = new char[_count];
// записываем наибольшее из пары в буффер для 3 файла
for (int i = 0; i < _count; i++) {
// перенос строки
if (i % 8 == 0) std::cout << " ";
if (i % 16 == 0) std::cout << std::endl;
if (buf1[i] > buf2[i]) {
buf3[i] = buf1[i];
std::cout << std::hex << std::uppercase << short(buf2[i]) << " ";
}
else {
buf3[i] = buf2[i];
std::cout << std::hex << std::uppercase << short(buf1[i]) << " ";
}
}
file3.write(buf3, _count);
};
var n,p:integer;
begin
write('n='); readln(n);
p:=1;
while n<>0 do begin
p:=p*(n mod 10);
n:=n div 10;
end;
writeln('p = ',p);
end.
Пример:
n=1234
p = 24
2.
var n,k:integer;
begin
write('n='); readln(n);
k:=0;
while n<>0 do begin
k:=k+1;
n:=n div 10;
end;
writeln('k = ',k);
end.
Пример:
n=456123
k = 6
3.
var n,s,i:integer;
begin
write('n='); readln(n);
s:=0;
for i:=1 to n do s:=s+i;
writeln('s = ',s);
end.
Пример:
n=5
s = 15