Перевод кода из Pascal в С++
Помогите перевести код на С++
var
a: array [1..100] of Integer;
n,i,j,x: Integer;
begin
repeat
write('N [1..',High(a),']');
readLn(n)
until n in [1..High(a)]; //вводим n, пока он не будет принадлежать диапазону 1..100
for i:=1 to n do read(a[i]);// вводим n элементов массива
write('A ='); for i:=1 to n do write(' ',a[i]); writeLn; //выводиим элементы
for i:=1 to n-1 do if not odd(a[i]) then //проверка на чётность
for j:=i+1 to n do if not odd(a[j]) then
if a[i]>a[j] then begin //сортировка
x:=a[i]; a[i]:=a[j]; a[j]:=x;
end;
write('A''='); for i:=1 to n do write(' ',a[i]);//вывод
end.
Ответы (1 шт):
Автор решения: Controlalt de Lit
→ Ссылка
#include "iostream" using namespace std;int main() {
int a[100], n; while (true) { cout << "N [1..100]\n"; cin >> n; if (n <= 100 && n > 0) { break; } } for (int i = 0; i < n; ++i) { cout << "a[" << i << "]="; cin >> a[i]; } cout << "A =["; for (int i = 0; i < n; ++i) { cout << a[i] << ','; } cout << "]\n"; for (int i = 0; i < n - 1; ++i) { if (a[i] % 2) { for (int j = i + 1; j < n; ++j) { if (a[j] % 2&&a[i]>a[j]) { int x = a[i]; a[i] = a[j]; a[j] = x; } } } } cout << "A =["; for (int i = 0; i < n; ++i) { cout << a[i] << ','; } cout<<"]\n"; return 0; }