Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Rauzer
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 62
Завершенные тесты: 1
#1

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

09.03.2017, 11:50. Просмотров 656. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2017, 11:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос перевести в си++ из паскаля (C++):

Перевести с Паскаля на С++ - C++
Помогите, пожалуйста! Переведите код с Паскаля на С++!! Срочно!! program ghost; uses crt; type man = Record ...

Перевести с Паскаля на Си - C++
Структура элемента массива работник: фамилия, число, месяц и год рождения, пол. определить: ─ фамилия самого старшего мужчины; ─...

Перевести с Паскаля на С++ - C++
uses crt; var n,k:byte; p,s:longint; begin clrscr; write('Введите произведение нескольких первых нечетных натуральных чисел...

Перевести из паскаля на с++ - C++
program laba3; var n, i: integer; a, y: real; begin writeln ('Введите n'); ...

Перевести с паскаля - C++
program maximum; var a: array of integer; // массив масс предметов max: integer; // масса самого тяжелого предмета i: integer; //...

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

37
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
09.03.2017, 12:06 #2
Rauzer, что такое val(), c ?
0
DemolitionMan
99 / 155 / 47
Регистрация: 06.04.2016
Сообщений: 992
09.03.2017, 12:10 #3
Что за функция str? А, это та функция, которая генерирует n одинаковых символов в строку?
0
Rauzer
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 62
Завершенные тесты: 1
09.03.2017, 12:13  [ТС] #4
на паскале абс программа работает условие определить количество чисел входящих в последовательность по одному разу
тест 666666--1 5865138---5
мне нужно перевести на си++ или писать новую

Добавлено через 2 минуты
хотя бы понять как работает на паскале я смогу написать на с++ ну паскаль не понимаю
0
DemolitionMan
99 / 155 / 47
Регистрация: 06.04.2016
Сообщений: 992
09.03.2017, 12:21 #5
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
#include <vcl>
#include <conio>
#include <string>
 
int n, i, c;
string s;
bool A[10];
 
void main(
{
cout << "Введите N:";
cin >> n;
str(n, s);
 
for(i = 1; i <= strlen(s); i++)
{
    val(s[i],n,c);
    A[n] = true;
}
 
n = 0;
for(i = 1; i <= 10; i++)
    if(A[i])
        n++; //увеличиваем на 1
    
cout << "В этом числе содержится " << n << " различных цифр";
 
system("pause");
return 0;
}
Добавлено через 1 минуту
Кто-нибудь подскажет мне как выглядит функция, которая генерирует строку n одинаковых символов?
0
Aymurat
111 / 105 / 35
Регистрация: 07.11.2014
Сообщений: 732
Завершенные тесты: 6
09.03.2017, 12:25 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <set>
using namespace std;
int main()
{
    set<int>q;
    setlocale(LC_ALL,"Rus");
    string a;
    cout<<"Введите N:"<<endl;
    cin>>a;
    for(int i = 0; i < a.length(); i++)
    {
        q.insert(a[i]-48);
    }
    cout<<"В этом числе содержится "<<q.size()<<" различных цифр";
    return 0;
}
0
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
09.03.2017, 12:32 #7
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
#include <iostream>
 
using namespace std;
 
int main( )
{
    int     n, i, len, a[10];
    char    s[12];
 
    setlocale(LC_ALL, "rus");
 
    cout << "Введите N: ";
    cin >> n;
 
    len = strlen(itoa(n, s, 10));
 
    for (i=0; i<10; i++)
        a[i] = 0;
    for (i=0; i<len; i++)
        a[s[i]-'0']++;
 
    for (n=i=0; i<10; i++)
        n += (a[i] == 1);
 
    cout << "В этом числе содержится " << n <<" различных цифр!" << endl;
    system("pause");
    return 0;
}
Добавлено через 6 минут
Цитата Сообщение от DemolitionMan Посмотреть сообщение
Кто-нибудь подскажет мне как выглядит функция, которая генерирует строку n одинаковых символов?
Боюсь, что str(n,s) преобразовывает число n в строку s
0
Rauzer
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 62
Завершенные тесты: 1
09.03.2017, 12:37  [ТС] #8
str(n,s) про str думаю также спс
0
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
09.03.2017, 12:38 #9
Функция, которая инициирует строку string символами c в количестве count раз
char *_strnset( char *string, int c, size_t count );
0
Aymurat
111 / 105 / 35
Регистрация: 07.11.2014
Сообщений: 732
Завершенные тесты: 6
09.03.2017, 12:42 #10
DemolitionMan, у Вас в коде выход за границы массива(обращаетесь к 10-ому элементу), индексируйте с 0
18,23-строки.
0
Rauzer
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 62
Завершенные тесты: 1
09.03.2017, 12:48  [ТС] #11
а на чем пишете проги кто нибудь на code bloksе пишет ??

Добавлено через 4 минуты
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int>q;
setlocale(LC_ALL,"Rus");
string a;
cout<<"Введите N:"<<endl;
cin>>a;
for(int i = 0; i < a.length(); i++)
{
q.insert(a[i]-48);
}
cout<<"В этом числе содержится "<<q.size()<<" различных цифр";
return 0;
}

код работает но сложный я студент еще не все изучи можно написать по проще или прокомментировать очень прошу
0
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
09.03.2017, 12:52 #12
Нате Вам в Code::Blocks
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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main( )
{
    int     n, i, len, a[10];
    char    s[12];
 
    setlocale(LC_ALL, "rus");
 
    cout << "Введите N: ";
    cin >> n;
 
    sprintf(s, "%d", n);
    len = strlen(s);
 
    for (i=0; i<10; i++)
        a[i] = 0;
    for (i=0; i<len; i++)
        a[s[i]-'0']++;
 
    for (n=i=0; i<10; i++)
        n += (a[i] == 1);
 
    cout << "В этом числе содержится " << n <<" различных цифр!" << endl;
    system("pause");
    return 0;
}
0
Rauzer
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 62
Завершенные тесты: 1
09.03.2017, 12:57  [ТС] #13
а можно решить очень просто??
0
Aymurat
111 / 105 / 35
Регистрация: 07.11.2014
Сообщений: 732
Завершенные тесты: 6
09.03.2017, 13:10 #14
Цитата Сообщение от Rauzer Посмотреть сообщение
код работает но сложный я студент еще не все изучи можно написать по проще или прокомментировать очень прошу
Тут комментировать нечего! STL Контейнер set, где элементы хранятся без дубликатов & отсортированными.
А чтобы узнать про -48 поглядите на таблицу ASCII
0
liv
375 / 342 / 114
Регистрация: 07.10.2015
Сообщений: 1,281
Завершенные тесты: 1
09.03.2017, 13:19 #15
Цитата Сообщение от Rauzer Посмотреть сообщение
я студент
ну так, на то ты и студент, учись
0
09.03.2017, 13:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2017, 13:19
Привет! Вот еще темы с ответами:

перевести на c++ с паскаля - C++
переведите пожалуйста как написать эти строчки на с++ for i:=1 to Length(s) do for j:=length(sl) downto 1 do Добавлено...

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

Перевести из паскаля в c++ - C++
собственно вот паскалевский код, тут через файлы. На с++ надо через ввод/вывод. var N:integer; E:integer; En1,En2:integer; ...

Перевести с паскаля на С++ - C++
Program p1; Var x,i,n:integer; Begin Write ('n= '); Read (n); x:=10; i:=0; repeat if (n div x) &lt;&gt; 0 then...


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

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

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