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

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

Восстановить пароль Регистрация
 
Юляшко
2 / 2 / 0
Регистрация: 02.03.2010
Сообщений: 95
22.04.2010, 21:57     Перевести код с Pascal #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++ Перевести код Pascal на C++
Перевести код с С++ в С и Pascal C++
Перевести код с Pascal C++
Перевести код с Pascal C++
C++ Перевести код из Pascal на С++
Перевести код с C++ в Pascal C++
Перевести код из Pascal в С++ C++
Перевести код из Pascal в C++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
toxa92
 Аватар для toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
23.04.2010, 01:12     Перевести код с Pascal #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;
}
Yandex
Объявления
23.04.2010, 01:12     Перевести код с Pascal
Ответ Создать тему
Опции темы

Текущее время: 14:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru