Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
#1

Из кода Pascal в код C++ - C++

30.01.2014, 22:32. Просмотров 533. Ответов 8
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Var A:array[1..20,1..20] of byte;
    i,j,n:byte;
Begin
    write('N = ');readln(n);
    For i:=1 to n do
     For j:=i to n do
      A[i,j]:=j-i+1;
    For i:=1 to n do
    Begin
      For j:=1 to n do
       write(A[i,j]:4);
      writeln;
    End;
    readln;
End.
Необходим код на С++
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 22:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из кода Pascal в код C++ (C++):

Переработка Pascal кода в код С++ - C++
Вот задача на паскале: program name4; var x:array of integer; z,ser,s,k:real; i:integer; begin s:=0; writeln...

Сделать с кода Pascal код C++ - C++
Нужно переделать код Паскаля на Си. Я немного сделал не похоже ето не то. program Lab6; uses crt; const nmax=20; var a:array...

Перевод кода с Pascal на С++ - C++
uses crt; function Summ(n:longint):byte; var m:longint; s:byte; begin s:=0; m:=n; while m>0 do begin s:=s+m mod...

Конвертация кода Pascal на C++ - C++
Приветствую! Люди добрые помогите перегнать из Pascal в C++.

Конвертация кода Pascal на C++ - C++
Здравствуйте, нужна помощь, у меня есть такой код: var chosenDir:string; fs: tSearchRec; dbq : String; begin if...

Перевод кода с Pascal - C++
var k,n,m:integer; x,s,p,t:real; begin repeat write('x<>0 x=');{х в знаменателе, исключаем заведомое деление на 0} readln(x);...

8
k1-801
4 / 4 / 2
Регистрация: 07.01.2013
Сообщений: 135
30.01.2014, 22:41 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вроде как-то так, разве что не будет нажатия ENTER требовать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <stdio.h>
using namespace std;
 
int a[21][21],i,j,n;
 
int main()
{
 cout<<"N = ";
 cin>>n;
 for(i=1;i<=n;i++)
 {
  for(j=i;j<=n;j++)
  {
   a[i][j]=j-i+1;
  }
 }
 for(i=1;i<=n;i++)
 {
  for(j=1;j<=n;j++)
  {
   cout<<a[i][j]/4;
  }
  cout<<endl;
 }
 return 0;
}
Мог опечататься.
1
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
30.01.2014, 22:48  [ТС] #3
Мог опечататься.
Этот код должен выводить массив вида:

1 2 3 … n-2 n-1 n
0 1 2 … n-3 n-2 n-1
0 0 1 … n-4 n-3 n-2
……………………………..
0 0 0 … 0 0 1

В паскале этот код выводит, а в с++ нет, и в твоем переводе он тоже не выводик как нужно, можешь помочь?

Добавлено через 3 минуты
Цитата Сообщение от k1-801 Посмотреть сообщение
C++
1
2
3
  {
   cout<<a[i][j]/4;
  }
Должно вот так быть:
C++
1
2
3
  {
   cout<<a[i][j];
  }
Ты /4 ненужный написал.

Всеровно, спасибо большое, помог!
0
k1-801
4 / 4 / 2
Регистрация: 07.01.2013
Сообщений: 135
30.01.2014, 22:51 #4
Цитата Сообщение от Revolver19931 Посмотреть сообщение
Этот код должен выводить массив вида:

1 2 3 … n-2 n-1 n
0 1 2 … n-3 n-2 n-1
0 0 1 … n-4 n-3 n-2
……………………………..
0 0 0 … 0 0 1

В паскале этот код выводит, а в с++ нет, и в твоем переводе он тоже не выводик как нужно, можешь помочь?

Добавлено через 3 минуты


Должно вот так быть:
C++
1
2
3
  {
   cout<<a[i][j];
  }
Ты /4 ненужный написал.

Всеровно, спасибо большое, помог!
В коде на паскале идёт A[i,j]:4, я понял что ":" обозначает деление. Видимо, ошибся. Ладно. Пожалуйста.
1
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
30.01.2014, 22:55  [ТС] #5
Цитата Сообщение от k1-801 Посмотреть сообщение
В коде на паскале идёт A[i,j]:4, я понял что ":" обозначает деление. Видимо, ошибся. Ладно. Пожалуйста.
В паскале :4 означает кол-во символов при выводе)
0
some_name
Вежливость-главное оружие
226 / 224 / 55
Регистрация: 19.02.2013
Сообщений: 1,440
30.01.2014, 23:00 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    int A[20][20], i, j, n;
 
    std::cout<<"Write N = "; std::cin>>n;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++) std::cout<<(A[i][j] = j - i + 1)<<"  ";     
        std::cout<<std::endl;
    }
 
    return 0;
}
1
k1-801
4 / 4 / 2
Регистрация: 07.01.2013
Сообщений: 135
30.01.2014, 23:05 #7
Цитата Сообщение от Revolver19931 Посмотреть сообщение
В паскале :4 означает кол-во символов при выводе)
Ух ты, интересно... А, да, надо тогда что-то вроде cout.precision(4); дописать куда-нибудь сразу после ввода.
0
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
30.01.2014, 23:11  [ТС] #8
Цитата Сообщение от k1-801 Посмотреть сообщение
Ух ты, интересно... А, да, надо тогда что-то вроде cout.precision(4); дописать куда-нибудь сразу после ввода.
Спасибо огромное.

Может сможешь помочь еще с этими темами?
0
some_name
Вежливость-главное оружие
226 / 224 / 55
Регистрация: 19.02.2013
Сообщений: 1,440
31.01.2014, 00:28 #9
Цитата Сообщение от Revolver19931 Посмотреть сообщение
Может сможешь помочь еще с этими темами?
Написать функцию, для поиска максимального элемента в указанной строке двумерного массива. Сдвинуть в двумерном массиве все строке циклически вправо н
2. В двумерном массиве найти среднее арифметическое первого столбца и количество элементов в каждом из следующих столбцов, превышающих среднее арифмет
Если правильно понял, то вот :

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include<iostream>
#include<iomanip>
 
using namespace std;
//создает матрицу размер size
int** matrix_constructor(int size)
{
    int** matrix_new = new int* [size]; 
    for (int i = 0; i < size; ++i) matrix_new[i] = new int[size];
    return matrix_new;
}
//удаляем матрицу
void matrix_destructor(int** matrix, int size)
{   
    for (int i = 0; i < size; ++i) delete[] matrix[i];
    delete[] matrix;  
}
//заполняет матрицу : если random_fill == true - случайно, иначе вводит ручками
void matrix_fill(int** matrix, int size, bool random_fill = true)
{
    if(random_fill) 
    {
        srand((unsigned)time(NULL));
        for (int i = 0; i < size; ++i)
            for (int j = 0; j < size; ++j)
            {
                int temp = matrix[i][j] = rand() % 80 + 10; 
                if(temp > 70) matrix[i][j] = 0;
                else matrix[i][j] = temp;
            }
    }
    else
    {
        for(int i = 0; i < size; ++i)
        {
            for(int j = 0; j < size; ++j)
            {
                cout<<"Enter {"<<i<<":"<<j<<"}"<<"element"; cin>>matrix[i][j];
            }
            cout<<endl;
        }
    }
}
//печатаем матрицу
void matrix_print(int** matrix, int size)
{
    for (int i = 0; i < size; ++i)
    {
        for (int j = 0; j < size; ++j) cout<<matrix[i][j]<<" ";     
        cout<<endl;
    }
    cout<<endl;
}
 
void matrix_copy(int** orignal, int** copy, int size)
{
    for (int i = 0; i < size; ++i)  
        for (int j = 0; j < size; ++j)
            copy[i][j] = orignal[i][j];
}
//первый пункт задания
void matrix_task1(int** matrix, int size)
{   
    cout<<"Task 1"<<endl;
 
    int** copy = matrix_constructor(size);//делаем копию
    matrix_copy(matrix, copy, size);//матрицы
 
    int number_row;
    cout<<"Enter number of row : "; cin>>number_row;
 
    int max = copy[number_row - 1][0];
    for (int i = 1; i < size; ++i)
        if(copy[number_row - 1][i] > max) 
            max = copy[number_row - 1][i];
 
    cout<<"Maximal number of "<<number_row<<" row "<<max<<endl;
    max = max % size;   
    cout<<"Offset on "<<max<<endl;
 
    for (int i = 0; i < size; ++i)
    {
        for (int j = 0; j < size - max; j++)
            copy[i][j + max] = copy[i][j];
        for (int j = 0; j < max; j++)
            copy[i][j] = 0;
    }
    matrix_print(copy, size);
    matrix_destructor(copy, size);
}
 
//второй пункт задания
void matrix_task2(int** matrix, int size)
{
    cout<<"Task 2"<<endl;
 
    int average = 0;
 
    for (int i = 0; i < size; ++i)
        average += matrix[i][0];
    average /= size;
 
    cout<<"Average "<<average<<endl;
 
    for (int i = 0; i < size; ++i)
    {
        int counter = 0;
        for (int j = 0; j < size; ++j)
            if(matrix[i][j] > average) ++counter;
        cout<<"Number of elements > average("<<average<<") : "<<counter<<endl;
    }
}
 
int main()
{
    int size;
    int** matrix;
 
    cout<<"Matrix size : "; cin>>size;
 
    matrix = matrix_constructor(size);
    matrix_fill(matrix, size);
    matrix_print(matrix, size);
    matrix_task1(matrix, size);   
    matrix_task2(matrix, size);   
    matrix_destructor(matrix, size);
 
    getchar(); getchar();
 
    return 0;
}


Из кода Pascal в код C++
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 00:28
Привет! Вот еще темы с ответами:

Перевод кода с Pascal в C++ - C++
ребятки, помогите с переводом с паскаля на C++ данный код var n,s,t,n1,kk,e1,x,i,ss,h:integer; ///возводит x в степнь e1 по...

Перевод кода с с Pascal на С++ - C++
Совсем не знаю язык Pascal, а нужно перевести кусочек кода с этого языка на С++. Помогите, пожалуйста! Задан текст. По правилам...

Портация кода Pascal - C++
Нужно сжать массив в котором есть нулевые элементы выкинув их. вот пример на паскале program noules; uses wincrt; type mas=array of...

Перевод кода из Pascal в C++ - C++
Помогите пожалуйста)) Дано: A 5*4 формируемый массив B 5*4, где bij=i+3,если i&gt;=j j-2 - иначе, i=1..5, j=1..4 Условия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
31.01.2014, 00:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru