Помогите перевести код на С++

Program matrix;
Uses
CRT;
var
mas:array[1..100,1..100] of integer;
i,j,n:integer;
begin
clrscr;
write('Введите N:=');
readln(n);
writeln('Исходный массив: ');
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
mas[i,j]:=random(10)-2;
write(mas[i,j]:2,' ');
if mas[i,j]<0 then
mas[i,j]:=0;
if mas[i,j]>0 then
mas[i,j]:=1;
end;
writeln;
end;
writeln('Результирующий массив: ');
for i:=1 to n do
begin
for j:=1 to n do
if (j<=i) then
write(mas[i,j]:2,' ');
writeln;
end;
readkey;
end.

Doc,
Я самоучка в программировании, кроме С++ других языков не знаю и понятия не имею на каком языке написан этот код. Но здравый смысл и знание английского, к моему интересу, не создал больших трудностей в переводе. Вот результат. Оставляя себе право на ошибку — уверен на 99%, что он верный. Код проверен в Visual Studio 2013 и в Dev-C++ 5.4.2

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
#include <clocale>
#include <iomanip>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, ".1251"); /* инструкция поддержки кирилицы. В оригинальном коде тут инструкция - clrscr; которая, судя по названию, очищает экран, её аналог в С++ - system("cls"); но она тут не нужна */

    int mas[100][100];
    int n;

    cout << "Введите N = ";
    cin >> n;
    cout << "\nИсходный массив:\n";

    srand(static_cast<int> (time(NULL)));

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            mas[i][j] = rand() % 10 - 2; /* не совсем уверен, что random(10)-2 тот же самый диапазон. Здесь диапазон получаемых значений от -2 до 7 */
            cout << setw(2) << mas[i][j] << " ";
            if (mas[i][j] < 0)
                mas[i][j] = 0;
            if (mas[i][j] > 0)
                mas[i][j] = 1;
        }
        cout << endl;
    }
    cout << "\nРезультирующий массив:\n";

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            if (j <= i)
                cout << setw(2) << mas[i][j] << ' ';
        cout << endl;
    }
    _getch();
}

Результат выполнения

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.