Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 20.02.2017
Сообщений: 64

перевести в си++ из паскаля

09.03.2017, 11:50. Показов 2542. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  n:longint;
  i,c:integer;
  s:string;
  A:array [1..10] of boolean;
begin
  write('Введите N: ');
  readln(n);
  str(n,s);
  for i:=1 to length(s) do
  begin
    val(s[i],n,c);
    A[n]:=true;
  end;
  n:=0;
  for i:=1 to 10 do
    if A[i] then
      inc(n); //увеличиваем на 1
  write('В этом числе содержится ',n,' различных цифр!');
  readln;
end.
Добавлено через 47 секунд
C++
1
2
3
4
int main( ){
int n,i,s,a[10];
cin>>n;
for (i=1;i<n;i++)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2017, 11:50
Ответы с готовыми решениями:

перевести из паскаля в с++
var B: String; N, L, Count: Integer; begin Writeln('Введите целое число: '); Readln(N); Str(N, B); ...

Перевести с паскаля на Си++
вообщем программа на паскале нужно перевести на с++ суть проги поменять местами главную диагональ и побочную program pr1; var...

Перевести из Паскаля на С++
var d, m: integer; begin writeln('Введіть день'); readln (d); writeln('Введіть мiсяць'); readln (m); case m of 1, 3, 5, 7,...

37
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
09.03.2017, 13:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Rauzer Посмотреть сообщение
спс то что нужно!!!
Код считает все цифры, включая и повторяющиеся
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
09.03.2017, 13:39
Цитата Сообщение от _liv_ Посмотреть сообщение
Aymurat, кстати, код не решает задачу. Надо же посчитать разные цифры
А я разве не считаю?) Вы неправильно поняли задачу)
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
09.03.2017, 13:40
Rauzer, замени
C++
1
if (cifry[i]==1) cnt++;
И будет тебе счастье
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
09.03.2017, 13:41
_liv_, различные цифры != не повторяющиеся цифры
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
09.03.2017, 13:44
Aymurat, а точно, надо разные цифры. Не так условие прочитал. Виноват.
Тогда код верен
Rauzer, в моем коде, если захочется его рассмотреть, надо заменить
C++
1
2
for (n=i=0; i<10; i++)
        n += (a[i] > 0);
0
0 / 0 / 1
Регистрация: 20.02.2017
Сообщений: 64
09.03.2017, 13:50  [ТС]
хорошо
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
09.03.2017, 14:38
Цитата Сообщение от _liv_ Посмотреть сообщение
Боюсь, что str(n,s) преобразовывает число n в строку s.
- можно и строкой сразу ввести.

Добавлено через 3 минуты
Цитата Сообщение от Aymurat Посмотреть сообщение
DemolitionMan, у Вас в коде выход за границы массива(обращаетесь к 10-ому элементу), индексируйте с 0. 18,23-строки.
- я просто повторил код автора.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
09.03.2017, 14:42
Цитата Сообщение от DemolitionMan Посмотреть сообщение
повторил код автора
не вникая в суть...
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
09.03.2017, 15:25
Ну такая и была задача с самого начала. Это потом он сказал, что ему нужна новая программа и т.д. Но я если честно не понял как он, разбираясь и зная, программирование на C++ просит написать ему простейшую программу. Что Вы думаете по этому поводу?
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
09.03.2017, 15:39
DemolitionMan, думаю, что ТС не знает С++, да и в Паскале плавает...
Задача задачей, а лично Вам следует знать, как минимум, что индексы в С/С+ начинаются с 0, в отличие от Паскаля, в котором с 1?
PS Давайте закроем эту тему. Решение найдено. Мне, честно говоря, сейчас некогда.
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
09.03.2017, 17:16
Это я знаю. Это ТСу говорите. Я уже вышел из возраста детсадовских заморочек на C++. Еще раз повторюсь задача такая была вначале: просто тупо перевести из Турбо Паскаля в C++. Тем более что там 1 функция(val) не описана. Если автор знает C++ как он заявил в своем сообщении №4, то пусть сам пишет такие простые программы.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
09.03.2017, 18:44
DemolitionMan, то есть Вы, видя ошибку, решили не сообщить о ней? Код то писали Вы, и ошибка Ваша, мы ее Вам указали, так как Вы сами не смогли ее найти, так будьте добры, воспринимайте критику и наставления к своему коду позитивно. val это всего лишь преобразование символа в число(это еще в школе проходили)
0
0 / 0 / 1
Регистрация: 20.02.2017
Сообщений: 64
18.03.2017, 11:22  [ТС]
#include <iostream>
using namespace std;
int main()
{
int n,l,r;
cin>>n;

l=0;
r=n-1;
int a[n];
for (int i=0;i<n;i++)
{
cin>>a[i];
}
while (l<=r)
{
if (a[l]==a[r])
{
l++;
r--;
}
else
{
break;
}
}
if (l>r)
{
cout<<"YES";
}
else
{
cout<<"NO";
return 0;
}
}

ПРОГА образуют ли числа симметричную послед.
подскажите где ошибка
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.03.2017, 12:36
Rauzer, сравните:
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
#include <iostream>
using namespace std;
 
int main()
{
    int n,l,r;
 
    cin>>n;
 
    l=0;
    r=n-1;
    int *a = new int[n];
 
    for (int i=0;i<n;i++)
    {
        cin>>a[i];
    }
 
    while (l<=r)
    {
        if (a[l]==a[r])
        {
            l++;
            r--;
        }
        else
        {
            break;
        }
    }
 
    if (l>r)
    {
        cout<<"YES"<<endl;
    }
    else
    {
        cout<<"NO"<<endl;
    }
    delete[] a;
    
    return 0;
}
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
19.03.2017, 07:14
Цитата Сообщение от Aymurat Посмотреть сообщение
DemolitionMan, то есть Вы, видя ошибку, решили не сообщить о ней? Код то писали Вы, и ошибка Ваша, мы ее Вам указали, так как Вы сами не смогли ее найти, так будьте добры, воспринимайте критику и наставления к своему коду позитивно. Нужно уметь критиковать, чтобы твою критику воспринимали позитивно. Ты это делать не умеешь! val это всего лишь преобразование символа в число(это еще в школе проходили)
- я не видел ошибку, просто тупо переписал код из Паскаля на Си++, не думаю, еще раз Вам об этом говорю. Как можно воспринимать позитивно критику, если вы критикуете толпой и никак понять меня не можете. Автор даже несоблагоизволил взять в скобки PASCAL. Что Вы ко мне перетензии предъявляете - предъявляйте к нему претензии.
Модераторы, закройте правда тему, чтобы ругань не разгорелась, задача-то ведь решена. Тут я просто скопировал текст - пишешь операторы построкам и все! Не думая, такой уже у меня образ мышления. И вам психовать не надо, а надо смириться с этим. Я бы думал над задачей, если бы он(автор темы) подробно расписал-бы, что ему нужно. Тем более как тут думать, если в программе есть НЕИЗВЕСТНЫЕ МНЕ операторы. Вы читайте мои сообщения внимательнее. Что я повторясь-то, как дурак, по 10 раз. Я не помню оператора val, хотя и изучал в школе Turbo Pascal.
0
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 12
19.03.2017, 20:38
Помогите перевести начало хотяб до процедур из Pascal на С++
Задание: этого кода с который нужно перевести
"тип линейного списка":индексный
"количество элементов":11
"типы элементов": real, byte
"основная задача":вывести первое поле, если второе парное

Paskal:
Code
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
uses crt;
const
n=11;
type pp=^el;
el=record
     pole1:real;
     pole2:byte;
     pnt:pp;
     end;
var pb:pp;
k,i:byte;
x:array[1..n] of pp;
 
procedure sozd(var uk:pp);
var
tt:pp;
i,y,f:integer;
begin
randomize;
for i:=1 to n do x[i]:=nil;
for i:=1 to 11 do
begin
f:=random(100);
if (f>0)  then y:=1;
if x[y]=nil then
begin
new(x[y]);
tt:=x[y]
end else
begin
tt:=x[y];
while tt^.pnt<>nil do
tt:=tt^.pnt;
new(tt^.pnt);
tt:=tt^.pnt;
end;
tt^.pole1:=random(50);
tt^.pole2:=random(50);
tt^.pnt:=nil;
end;
writeln('список создано');
end;
 
procedure vyv(uk:pp);
begin
if uk=nil then writeln('список пуст')
else writeln(' поле 1','':4,'поле 2');
for i:=1 to 11 do
    begin
      if x[i]=nil then continue;
      uk:=x[i];
      while uk<>nil do
begin
writeln(uk^.pole1:8:0,uk^.pole2:8);
uk:=uk^.pnt;
end;
end;
readkey;
end;
 
procedure analiz(uk:pp);
begin
if uk=nil then writeln('анализ списка')
else writeln('первое поле записей, что имеют положительное второе поле');
for i:=1 to 11 do
    begin
      if x[i]=nil then continue;
      uk:=x[i];
while uk<>nil do
begin
if (uk^.pole2 mod 2)=0 then writeln(uk^.pole1:6:0);
uk:=uk^.pnt;
end;
end;
end;
 
begin
while true do
begin writeln;
writeln('операция над списком:');
writeln('1:создание списка');
writeln('2:вывод елементов списка');
writeln('3:анализ');
writeln('4:выход');
read(k);
case k of
1:sozd(pb);
2:vyv(pb);
3:analiz(pb);
4:exit;
else continue;
end;
end;
end.
Есть аналоговый код на С++ с заданием:
"тип линейного списка": очередь
"количество элементов": 8
"типы элементов": integer, integer.
"основная задача": вывести первое поле, если второе положительное

С++
Code
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
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
 
struct sp
{
int p1,p2;
sp *pnt;
};
sp *ptb,*pt;
 
void sozd(int n)
{
ptb=new sp;
pt=ptb;
for(int i=1;i<n;i++)
{
pt->p1=rand()%100-30;
pt->p2=rand()%100-30;
pt->pnt=new sp;
pt=pt->pnt;
}
pt->p1=rand()%100-30;
pt->p2=rand()%100-30;
pt->pnt=NULL;
cout<<"\nсписок создано!\n\n";
}
 
void vived(sp *beg)
{int i=1;
cout<<"\nсписок:\n";
pt=beg;
while (pt!=NULL) 
{
cout<<i<<'\t'<<pt->p1<<'\t'<<pt->p2<<endl;
pt=pt->pnt;i++;
}
}
 
void obr(sp *beg)
{
cout<<"\первое поле записей, что имеют парное второе поле - \n";
pt=beg;
while (pt!=NULL) 
{
if (pt->p2>0) cout<<'\n'<<pt->p1;
pt=pt->pnt;
}
}
 
void main()
{
int k;
srand((unsigned)time(NULL));
while (1) 
{
cout<<"\n1.создание списка\n";
cout<<"2.вывод елементов списка\n";
cout<<"3.анализ\n";
cout<<"4.выход\n";
cout<<"ввести номер пункта меню\n";
cin>>k;
switch (k) 
{
case 1:sozd(8);break;
case 2:vived(ptb);break;
case 3:obr(ptb);break;
case 4:exit(0);
}
}
}
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
20.03.2017, 15:08
MoteVatoR, создайте отдельную тему. Зачем валить все в кучу?
0
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 12
20.03.2017, 15:15
Цитата Сообщение от _liv_ Посмотреть сообщение
MoteVatoR, создайте отдельную тему. Зачем валить все в кучу?
Создал...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2017, 15:15

Перевести из Паскаля в с++
program array13; var arr: array of integer; N, i: integer; begin write('Введите N(нечётное): '); readln(N); ...

Перевести из паскаля на c++
program laba2; var x,y: real; begin writeln ('введіть координати точки: '); read(x,y); if (sqrt(x)+sqrt(y)&lt;=4) AND NOT((...

Перевести с Паскаля на Си
uses crt; var a,n:Longint; b:boolean; begin clrscr; write('a=');readln(a); n:=2; while a&gt;0 do begin b:=true;

Перевести с паскаля в си
Не могу перевести на си . program Project1; uses crt; const N0=100; Var A: Array Of Integer; M: Integer; i, j, k, N:...

Перевести из паскаля на c++
Program laba2; var d, m: integer; begin writeln('Введіть день'); readln (d); writeln('Введіть мiсяць'); readln (m); ...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru