C/C++

Информатика(Программирование). Перевод с С++ на Паскаль.

Помогите пожалуйста. Нужно перевести программу с С++ на Паскаль.



Код программы:

#include "stdafx.h"

#include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <iomanip>


using namespace std;


int main()

{

setlocale(LC_ALL, "Russian");

int a[10][15];

int n, m, i, j;

cout << "введите количество строк массива (<10) n = "; cin >> n;

cout << "введите количество столбцов массива (<15) m = "; cin >> m;

cout << endl;

cout << "введите значения элементов массива:" << endl;

for (i = 0; i < n; i++)

for (j = 0; j < m; j++)

{

cout << "a[" << i << "][" << j << "] = "; cin >> a[i][j];

}

cout << endl;

cout << "исходный массив: " << endl;

for (i = 0; i < n; i++)

{

for (j = 0; j < m; j++)

cout << setw(5) << a[i][j];

cout << endl;

}

cout << endl;

cout << "поменять 2-ую и " << n-1 << "-ую строки: " << endl;

for (j = 0; j < m; j++)

{

int tmp = a[1][j];

a[1][j] = a[n - 2][j];

a[n - 2][j] = tmp;

}

for (i = 0; i < n; i++)

{

for (j = 0; j < m; j++)

cout << setw(5) << a[i][j];

cout << endl;

}

cout << endl;

cout << endl;

getch();

}
Лучше бы задание само выложили, друг мой - ибо текст программы разгребать дольше. Итак, как я понял из программы, надо ввести с клавиатуры массив, после чего поменять местами строки 2-ую и предпоследнюю. В обоих случаях массив вывести на экран.

Если так, то вот программа на языке Pascal:
 Program P1; 
uses crt;
type mas=array [1..10, 1..15] of real;
var a: mas;
i, j, n, m: byte;
t: array [1..15] of real;
begin
clrscr;
writeln ('Введите с клавиатуры количество строк и столбцов массива (внимание: только целые, положительные (>0) числа. В противном случае произойдет вылет программы!).');
write ('Введите количество строк массива (не более 10): ');
readln (n);
if n>10 then writeln ('Ошибка: введено слишком большое число.') else begin
write ('Введите количество столбцов массива (не более 15): ');
readln (m);
if m>15 then writeln ('Ошибка: введено слишком большое число.') else begin
writeln ('Теперь введите сам массив (элементы массива (только числа - здесь можно и отрицательные, и дробные.). После ввода каждого из чисел нажимайте клавишу Enter. При вводе дробных значений целую часть от дробной отделяйте точкой, в не запятой.');
for i:=1 to n do
for j:=1 to m do begin
write ('a[', i, ',', j, '] = ');
readln (a[i,j]);
end;
writeln ('Исходный массив:');
for i:=1 to n do begin
for j:=1 to m do write (a[i,j]:5:2);
writeln (' ');
end;
for j:=1 to m do t[j]:=a[2,j];
for j:=1 to m do a[2,j]:=a[n-1, j];
for j:=1 to m do a[n-1,j]:=t[j];
writeln ('Массив с замененными местами 2-ой и ', n-1, '-й строками:');
for i:=1 to n do begin
for j:=1 to m do write (a[i,j]:5:2);
writeln (' ');
end;
end;
end;
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Если непонятно, что какая строка программы означает/делает - могу расписАть в комментариях.
Илья Нестеров
Илья Нестеров
43 559
Лучший ответ