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

Перевод кода с Pascal в C++

19.01.2014, 15:46. Показов 1107. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ребятки, помогите с переводом с паскаля на 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
var n,s,t,n1,kk,e1,x,i,ss,h:integer;
 
///возводит x в степнь e1 по модулю n
function st(x,e1,n:integer):integer;
var i,k1:integer;
begin
k1:=x;
   for i:=2 to e1 do
      begin
         k1:=k1*x;
         k1:=k1 mod n;
      end;
   result:=k1;
end;
 
 
begin
writeln('Введите n');
readln(n);
n1:=n-1;
s:=0;t:=0;
while (t=0) do
  begin
     if n1 mod 2 = 0 then
        begin
           s:=s+1;
           n1:=n1 div 2;
        end
        else
           t:=n1;
  end;
i:=1;
while (x=0) do
  begin
     kk:=st(2,t*i,n);
     i:=i+1;
     if (kk=1) or (kk=n-1) then 
        begin
           writeln('простое!!');
           x:=1;
        end;
     ss:=1;
     for h:=1 to s-1 do
        ss:=ss*2;
     if i>ss*t then begin 
                      x:=1;
                      writeln(' не простое!!');
                    end;
  end;
 
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2014, 15:46
Ответы с готовыми решениями:

Перевод кода из Pascal в C++
Прошу помощи ещё раз с переводом кода ! 2. var i, sum : integer; n : real; begin sum := 0; for i := 1 to 15 do begin ...

Перевод кода с Pascal
uses crt; const n = 17; var arr: array of integer; sum: integer; i: byte; k,d,e: integer; begin

Перевод кода из Pascal в C++
Нужна ваша помощь в переводе с паскаля ибо не особо знаком с конструкциями си. Код в паскале: Program Princip_Guigensa_Frenelya; uses...

9
 Аватар для genock94
21 / 21 / 8
Регистрация: 16.11.2012
Сообщений: 349
19.01.2014, 16:09
alex-net,
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
/**/
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
//////////Ãëîáàëüíûå ïåðåìåííûå, ñòðóêòóðû, êëàññû////////
 
//////////Функции//////////////////////////////////////////////////
int st(int x, int e1, int n) {
    int i, k1;
    
    k1=x;
    for (i=2; i<=e1; i++) {
        k1=k1*x;
        k1=k1%n;
    }
    return k1;
}
//////////////////////////////////////////////////////////
int main()
{
    int n, s, t, n1, kk, e1, x, i, ss, h;
    
    cout << "Vvedite n: ";
    cin >> n;
    
    n1=n-1;
    s=0; t=0;
    
    while (t==0) {
        if (n1%2 == 0) {
            s=s+1;
            n1=n1/2;
        }
        else {
            t=n1;
        }
    }
    i=1;
    while (x==0) {
        kk=st(2,t*i,n);
        i=i+1;
        if ((kk==1)||(kk==n-1)) {
            cout << "prostoe!!";
            x=1;
        }
        ss=1;
        for (h=1; h<=s-1; h++) {
            ss=ss*2;
        }
        if (i>ss*t) {
            x=1;
            cout << "ne prostoe";
        }
        
    }
    
       
    return 0;
}
//////////////////////////////////////////////////////////
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 16:16
держи) вроде так)
а лучше напиши, задание, что бы понимать, хотя что должна делать прграмма
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
#include <iostream>
 
using namespace std;
 
 
int st(int x, int e1, int n)
{
    int i,k1;
    k1=x;
    for (i=2; i<=e1; i++ )
    {
        k1=k1*x;
        k1=k1%n;
    }
    return k1;
}
 
int main()
{
    setlocale(NULL,"rus");
    int n,s,t,n1,kk,e1,x=0,i,ss,h;
    cout<<"Введите n";
    cin>> n;
    n1=n-1;
    s=0;
    t=0;
    while (t==0)
    {
        if (n1 % 2 == 0)
        {
            s=s+1;
            n1=n1/2;
        }
        else
            t=n1;
    }
    i=1;
    while (x==0)
    {
 
        kk=st(2,t*i,n);
        i++;
        if ((kk==1) || (kk==n-1))
        {
            cout << "простое!!";
            x=1;
        }
        ss=1;
        for (h=1; h<=s-1; h++)
            ss=ss*2;
        if (i>ss*t)
        {
            x=1;
            cout<<"не простое!!";
        }
    }
    return 0;
}
1
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 173
19.01.2014, 16:26  [ТС]
_script_, проверка чисел на простоту
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 16:29
если проверяется n, то код не правильно работает!
0
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 173
19.01.2014, 16:35  [ТС]
_script_, сможешь исправить?
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 16:41
держи код)
вводим n и проверяем простое или нет!

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
#include <iostream>
#include <math.h>
 
using namespace std;
 
bool Prostoe(int a)
{
    for (int i=2; i<=sqrt(a); i++)
        if (a%i==0)
            return false;
    return true;
}
 
int main()
{
    int n;
    cout << "Vvedite n:";
    cin >> n;
    if (Prostoe(n))
        cout <<"Prostoe!";
    else
        cout << "NE prostoe!";
    return 0;
}
0
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 173
19.01.2014, 16:53  [ТС]
_script_, а мне именно по тому алгоритму нужна бы)
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 17:01
Ну если дашь, текстуальное описание, алгоритма, может что то и напишу, но по коду разбирать его мне не хочется)
Тем более, судя по всему какой то это не очень хороший алгоритм)
0
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 173
19.01.2014, 17:09  [ТС]
_script_, согласен, не очень хороший
Тестирование чисел на простоту Рабина-Миллера.
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}^{n-1}\equiv 1(mod n)
n — нечетное,
https://www.cyberforum.ru/cgi-bin/latex.cgi?n-1 = {2}^{s}*t, t — нечетное
if n — простое, then вып-ся https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}^{n-1}\equiv 1(mod n)
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}^{t},{a}^{2t}, ... , {a}^{2s-1} среди них найдется элемент, который = 1 mod n
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2014, 17:09
Помогаю со студенческими работами здесь

Перевод кода с Pascal
Const n=5;m=10; var b:arrayof integer; i,j,k,buf,l:integer; begin for i:=1 to n do begin writeln; ...

Перевод кода из Pascal в C++
Помогите перевести этот код с Pascal ABC на C++ : uses crt; var N: integer; a: array of integer; begin readln(N); a := 2;...

Перевод кода из Pascal в Си++
Type ST = Record Num: Integer; Name: String; Fak: String; Group: String; Angl: Integer; Physic: Integer; var Table: Array ...

Перевод кода из Pascal в C++
Помогите перевести код с Pascal на С++: var n, sum, mult: integer; begin write('Enter number: '); readln(n); sum :=...

Перевод кода с Pascal to c++
uses crt; const mf=500; type vector=array of real; var {раздел описания переменных, которые мы будем использовать в программе} ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru