Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 14.05.2014
Сообщений: 39

Переделать код программы с паскаля на с++

11.02.2015, 19:24. Показов 1967. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно перевести код с паскаля на с++

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
Program Podrazdelenie;
Uses crt;
Const
nmax=20;
nalog=20;
TYPE
mas = array [1..nmax] of integer;
VAR
Y,G : mas;
i, n, x : byte;
B, prc, Bm, d : real;
 
Procedure Create(Var P:mas; n : byte; c:char);
Begin
For i:=1 to n do
  Begin
    P[i]:=Random(31);
    Write(c,'[',i,']=',P[i],' ')
  End
End;
 
Procedure Pt(var P:mas; n : byte; c:char);
Begin
x:=0;
For i:=1 to n do
  Begin
    B:=0;
    prc:=0;
    Bm:=0;
    B:=P[i] * d;
    prc:=(B*nalog)/100;
    Bm:=B-prc;
      If Bm > 100 then write(c,'[',i,']=',Bm:3:2,' ') else inc(x)
  End;
    IF x = n then
      begin
        writeLn('Сотрудников с зарплатой больше 100 у.е.');
        write('в подразделении ',c,' нет.')
      end;
WriteLn
End;
 
BEGIN
clrscr;
Randomize;
WriteLn('Заполняем массив Y из 15 сотрудников');
Create(Y,15,'Y');
WriteLn;
WriteLn('Заполняем массив G из 20 сотрудников');
Create(G,20,'G');
WriteLn;
Write('Введите дневную оплату труда сотрудников ');
ReadLn(d);
WriteLn;
WriteLn('Список сотрудников Y с окладом больше 100 у.е.');
WriteLn;
Pt(Y,15,'Y');
WriteLn;
WriteLn('Список сотрудников G с окладом больше 100 у.е.');
WriteLn;
Pt(G,20,'G');
Readkey
END.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.02.2015, 19:24
Ответы с готовыми решениями:

переделать код из паскаля в с++
Var k,m,j,i:integer; Begin write('Введите k: ');readln(k); i:=0;j:=0; Repeat inc(i); write('Введите...

Переделать код из Паскаля в С++
program Param40; type St=String; var S:St; i,K:integer; Function WordK(S:St;K:integer):String; var

Переделать код с паскаля на с#
var n,i,cislo:integer; s:boolean; p:array of array of integer; begin for i:=1 to 1000 do begin p:=1000;

8
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
12.02.2015, 05:10
Лучший ответ Сообщение было отмечено andru160596 как решение

Решение

andru160596,
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
#include <iostream>
#include <time.h>
 
using namespace std;
 
const float taxes = 20.0;
const int maxN = 20;
 
void create(int *array, int n, char c) {
    for (int i = 0; i < n; ++i)
        cout << c << "[" << i << "]=" << (array[i] = rand()%31) << " ";
}
 
void pt(int *array, int n, char c, float d) {
    float B, prc, Bm;
    int x = 0;
    for (int i = 0; i < n; ++i) {
        // Зачем тут обнуления?
        B = (float)array[i]*d;
        prc = (B*taxes)/100;
        Bm = B-prc;
        if (Bm > 100) cout << c << "[" << i << "]=" << Bm << " ";
        else x++;
    }
    if (x == n) cout << "Сотрудников с 100уе" << endl << "в подразделении " << c << " нет.";
    cout << endl;
}
 
static int Y[maxN];
static int G[maxN];
 
int main(int argc, char *argv[]) {
    float d;
    srand(time(NULL));
    cout << "Заполняем Y" << endl;
    create(&Y[0], 15, 'Y');
    cout << "Заполняем G" << endl;
    create(&G[0], 20, 'G');
    cout << "Введите дневную оплату" << endl;
    cin >> d;
    cout << "Список Y";
    pt(&Y[0], 15, 'Y', d);
    cout << "Список G";
    pt(&G[0], 20, 'G', d);
    system("pause");
}
нужно ли вам такое количество переменных для вычисления непонятного мне Bm?

Добавлено через 13 секунд
andru160596,
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
#include <iostream>
#include <time.h>
 
using namespace std;
 
const float taxes = 20.0;
const int maxN = 20;
 
void create(int *array, int n, char c) {
    for (int i = 0; i < n; ++i)
        cout << c << "[" << i << "]=" << (array[i] = rand()%31) << " ";
}
 
void pt(int *array, int n, char c, float d) {
    float B, prc, Bm;
    int x = 0;
    for (int i = 0; i < n; ++i) {
        // Зачем тут обнуления?
        B = (float)array[i]*d;
        prc = (B*taxes)/100;
        Bm = B-prc;
        if (Bm > 100) cout << c << "[" << i << "]=" << Bm << " ";
        else x++;
    }
    if (x == n) cout << "Сотрудников с 100уе" << endl << "в подразделении " << c << " нет.";
    cout << endl;
}
 
static int Y[maxN];
static int G[maxN];
 
int main(int argc, char *argv[]) {
    float d;
    srand(time(NULL));
    cout << "Заполняем Y" << endl;
    create(&Y[0], 15, 'Y');
    cout << "Заполняем G" << endl;
    create(&G[0], 20, 'G');
    cout << "Введите дневную оплату" << endl;
    cin >> d;
    cout << "Список Y";
    pt(&Y[0], 15, 'Y', d);
    cout << "Список G";
    pt(&G[0], 20, 'G', d);
    system("pause");
}
нужно ли вам такое количество переменных для вычисления непонятного мне Bm?
И не проще ли контролировать наличие записей флажком bool ?
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
12.02.2015, 13:00
Гоблин-инженер, а для чего static?
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
12.02.2015, 14:37
nmcf, таким макаром эти массивы хранятся не в стеке, а в статической памяти (не знаю точный термин). Размеры стека имеют ограничения, так что я слышал советы в подобных задачах размещать массивы в статической памяти. Или в динамической, но там программа немного усложнилась бы
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
12.02.2015, 14:38
Но они же не внутри main(), почему в стеке?
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
12.02.2015, 14:40
nmcf, не понял - вне функций переменные и так размещаются статически?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
12.02.2015, 15:12
А разве нет?
1
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
12.02.2015, 15:22
nmcf, действительно, мой затык, static в листинге не нужен) Благодарю за поправку и уточнение
0
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
12.02.2015, 15:26
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
действительно, мой затык, static в листинге не нужен)
в любом случае, он не навредит:
Когда спецификатор static применяется к глобальной переменной, он сообщает компилятору о необходимости создания глобальной переменной, которая будет известна только в файле, где статическая глобальная переменная объявлена. Это означает, что, даже если переменная является глобальной, другие подпрограммы в других файлах не будут знать о ней.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2015, 15:26
Помогаю со студенческими работами здесь

Переделать код из Паскаля в С++
Type mas = Array of Real; {--------------} Procedure Sort(var a: mas; n: Byte); var i,j: Byte; tmp: Real; begin For...

Переделать код с паскаля в с++
Код на скриншоте

Как переделать код из паскаля в с++
uses graph,crt; var x,y,d,i,j:integer; procedure CircleK(xc,yc,r:integer); procedure sim(x,y:integer); begin ...

Нужно переделать код из Паскаля в C++
Составьте циклический алгоритм и программу для вычисления результата по формуле. Для проверки программы задать X=0,5, n=20. (3 формула)

Переделать код с паскаля на делфи
Прошу помощи, нужно переделать код с Паскаля на Делфи. Задания: 1. Дан массив целых чисел из n элементов, заполненный случайным образом...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru