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

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

Войти
Регистрация
Восстановить пароль
 
Юляшко
2 / 2 / 0
Регистрация: 02.03.2010
Сообщений: 95
#1

Перевести код с Pascal - C++

22.04.2010, 21:57. Просмотров 521. Ответов 1
Метки нет (Все метки)

нужно написать программу на C++ из паскаля

Pascal
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
program pr1;
uses crt;
const WG=100;
type tmasi=array[1..WG] of integer;
var a:tmasi; n,kl:byte;
(*процедура ввода*)
procedure pr_wod(kl:byte; var n:byte; var mas:tmasi);
var i:byte;
begin
clrscr;
    begin
                  writeln('введите размерность массива меньше или равная 100');
                  readln(n);
               end;
   (*контроль значения переменной*)
   while n>WG do
   begin
    clrscr;
     writeln('неверно,ds ввели больше 100');
     readln(n);
   end;
     if kl=1 then
     write (' вы не ввели элемент масива по этому он выбран автоматически ---->  ');
     randomize;
     for i:=1 to n do
     case  kl of
     1:mas[i]:=random(201)-100;
     2:begin
         writeln('введи ',i,' элемент массива');
         readln(mas[i]);
       end;
     end;
end;
(*процедура вывода*)
procedure pr_out(n:byte; mas:tmasi);
var i:byte;
begin
  for i:=1 to n do
  write(mas[i]:6);
  writeln;
end;
(*функция нахождения отр. элемента*)
function f_otr(n:byte; mas:tmasi):byte;
var i:byte;
begin
  f_otr:=0;
  for i:=1 to n do
  if mas[i]<0 then begin
                     f_otr:=i;
                     break;
                   end;
end;
(*функция нахождения суммы отр. элементов массива*)
function f_sum(n:byte; mas:tmasi):integer;
var i:byte; sum:integer;
begin
  sum:=0;
  for i:=1 to n do
  if mas[i]<0 then 
  sum:=sum+mas[i];
  f_sum:=sum;
end;
(*процедура работы с отрицательными элементами*)
procedure pr_otr_el(n:byte;var a:tmasi);
var i,j,pos:byte; sum:integer;
begin
  pos:=f_otr(n,a);
  if pos=0 then begin
                  writeln('В массиве отсутствуют отрицтельные элементы');
                  end;
  sum:=f_sum(n,a);
  for i:=1 to pos-1 do
  a[i]:=sum;
  writeln('Первый отрицательный элемент- ',a[pos]);
  writeln('Сумма отрицательных элементов- ',sum);
  writeln('Массив переформирован');
  end;
begin
clrscr;
  while true do
  begin
 
    repeat
    writeln('1- создать массив из целых чисел;');
    writeln('2- вывод элементов одномерного массива;');
    writeln('3- работа с отрицательными элементами массива;');
    writeln('4- конец работы.');
    readln(kl);
    case kl of
    1:begin
       clrscr;
        pr_wod(2,n,a);
        ClrScr;
        writeln('Массив введен');
      end;
    2:begin
    clrscr;
      if n=0 then begin
                  pr_wod(1,n,a);
                  end;
      writeln(' Массив ');
      pr_out(n,a);
      end;
    3:begin
      clrscr;
          pr_otr_el(n,a);
          writeln('Пункт выполнен');
          writeln;
      end;
    4:begin writeln('пока');readln; end;
 
    end;
    until kl in [1..4];
     end;
 
end.
Добавлено через 23 часа 58 минут
напишите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2010, 21:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевести код с Pascal (C++):

Перевести код c Pascal в C++ - C++
uses Crt; function Fun(a,b,c:integer):boolean; begin if a&lt;(b+c) then Fun:=true else Fun:=false; end; var ...

Перевести код из Pascal в C++ - C++
Помогите пожалуйста. begin for i := 1 to n do begin P :=i; C := 1 ; PR:=истина; end; C := 0; write(P,...,P); i := 1; ...

Перевести код с С++ в С и Pascal - C++
кароч люди мну дали задание....... мну нада перевести з одного с(си) в другой с(си) и потом в паскаль.... кто может помогите: #include...

Перевести код из Pascal в с++ - C++
Нужно перевести из паскаля в с++ две программы, кот. интегрируют методом симсона и трапеций соответственно. Заранее спасибо, форумчане)) ...

Перевести код с Pascal - C++
program sro3_2; var A,B,C:array of integer; n,k,l,i:integer; ...

Перевести код с Pascal - C++
первая: program lab2; uses crt; label M1; var n:integer; begin clrscr; M1:writeln('Введите целое число n от1 до 5'); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
23.04.2010, 01:12 #2
Сейчас переведу синтаксис, код оставлю таким же

Добавлено через 2 часа 21 минуту
вобщем код есть, компилиться. работу проверяйте сами

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
132
133
134
135
136
137
138
139
140
#include "stdafx.h"
#include <time.h>
#include <stdlib.h>
 
# define WG 100
 
 
struct tmasi 
{
    int massiv[WG];
}a,mas;
int n,kl;
 
//procedure of input
void pr_wod(int kl,int n, tmasi mas)
{
int i;
 
system("cls");
    {
    printf("pls enter dimension of file, less or equal 100\n");
    scanf("%d", &n);
    }
    //control the value of variable
    while (n>WG)
    {
    system("cls");
    printf("\ninvalid, entered ds more 100\n");
    scanf("%d", &n);
    }
if (kl==1) printf("\nYou are not entered element of file, because it is auto value\n");
srand((unsigned) time(NULL));
for (i=1;i<(n+1);i++)
    switch(kl)
    {
        case 1:mas.massiv[i]=rand()%201-100;break;
        case 2:{
            printf("pls enter %d element of file\n", i);
            scanf("%d", &mas.massiv[i]);
            };break;
    }
}
 
//procedure of output
void pr_out(int n, tmasi mas)
{
    int i;
    for (i=1;i<(n+1);i++)
        printf("%6d\n",mas.massiv[i]);
            
}
 
//function of search negative element
int f_otr(int n, tmasi mas)
{
int i, result=0;
for (i=1;i<(n+1);i++)
    if (mas.massiv[i]<0) 
    {
    result=i;
    break;
    }
return result;
}
 
//function calculate of sum negative elevents of file
int f_sum(int n, tmasi a)
{
int i,sum=0;
for(i=1;i<(n+1);i++)
    if (mas.massiv[i]<0) sum+=mas.massiv[i];
return sum;
}
 
//function of work with negative elements
void pr_otr_el(int n, tmasi a)
{
int i,j,pos,sum;
pos=f_otr(n,a);
if (pos==0)
    {
        printf("\nIn file absent negative elements\n");
    }
sum=f_sum(n,a);
for (i=1;i<pos;i++)
    a.massiv[i]=sum;
printf("First negative element - %d\n",a.massiv[pos]);
printf("Sum of negative elements - %d\n", sum);
printf("File if reform\n");
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])   
{
 
system("cls");
while (1)
{
    do
    {
        printf("1 - create file of integer numbers\n");
        printf("2 - Output elements of one-dimensional file\n");
        printf("3 - Work with negative elements of file\n");
        printf("4 - End of work\n");
        scanf("%d", &kl);
        switch (kl)
        {
            case 1:
            {
                system("cls");
                pr_wod(2,n,a);
                system("cls");
                printf("File is input\n");
            }break;
            case 2:
            {
                system("cls");
                if (n==0)
                {
                    pr_wod(1,n,a);
                }
                printf("File\n");
                pr_out(n,a);
            }break;
            case 3:
            {
                system("cls");
                pr_otr_el(n,a);
                printf("point is executed\n\n");
            }break;
            case 4:
            {
                printf("bye");getchar();
            }break;
        }
    }while ((kl>=1)&&(kl<=4));
}
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2010, 01:12
Привет! Вот еще темы с ответами:

Перевести код с Pascal - C++
помогите перевести 2 программы из паскаль в С++ 1) uses graphABC; begin setwindowsize(500,500); setpenwidth(4); ...

Перевести код с Pascal - C++
uses crt; const nmax=20; var a:array of integer; n,i,d:integer; f:boolean; begin repeat write('Размер массива до...

Перевести код из Pascal на C++ - C++
Нужно произвести удаление узла из сбалансированного дерева. В С++ я не бум-бум, помогите пожалуйста. Вот сам код: procedure...

Перевести код с Pascal - C++
есть код на Pascale,перевести на СИ


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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