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

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

09.03.2017, 11:50. Просмотров 688. Ответов 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
Ответы с готовыми решениями:

Перевести с паскаля на С++
Var s,s1:string; i,k:byte; Begin write('Введите строку:...

перевести из паскаля в с++
program spektr; uses crt; type vect=arrayof integer; var f,g:vect; ...

Перевести с Паскаля на C++
надо перевести с паскаля на c++ var i,adrs:integer; a:arrayof integer;...

Перевести из паскаля в с++
var a, i, b: integer; begin read(a); b := 0; for i := 1 to a do...

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

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

Добавлено через 2 минуты
хотя бы понять как работает на паскале я смогу написать на с++ ну паскаль не понимаю
0
DemolitionMan
129 / 155 / 87
Регистрация: 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
119 / 111 / 65
Регистрация: 07.11.2014
Сообщений: 761
Завершенные тесты: 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
554 / 523 / 143
Регистрация: 07.10.2015
Сообщений: 1,703
Завершенные тесты: 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 / 1
Регистрация: 20.02.2017
Сообщений: 64
Завершенные тесты: 1
09.03.2017, 12:37  [ТС] 8
str(n,s) про str думаю также спс
0
liv
554 / 523 / 143
Регистрация: 07.10.2015
Сообщений: 1,703
Завершенные тесты: 1
09.03.2017, 12:38 9
Функция, которая инициирует строку string символами c в количестве count раз
char *_strnset( char *string, int c, size_t count );
0
Aymurat
119 / 111 / 65
Регистрация: 07.11.2014
Сообщений: 761
Завершенные тесты: 6
09.03.2017, 12:42 10
DemolitionMan, у Вас в коде выход за границы массива(обращаетесь к 10-ому элементу), индексируйте с 0
18,23-строки.
0
Rauzer
0 / 0 / 1
Регистрация: 20.02.2017
Сообщений: 64
Завершенные тесты: 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
554 / 523 / 143
Регистрация: 07.10.2015
Сообщений: 1,703
Завершенные тесты: 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 / 1
Регистрация: 20.02.2017
Сообщений: 64
Завершенные тесты: 1
09.03.2017, 12:57  [ТС] 13
а можно решить очень просто??
0
Aymurat
119 / 111 / 65
Регистрация: 07.11.2014
Сообщений: 761
Завершенные тесты: 6
09.03.2017, 13:10 14
Цитата Сообщение от Rauzer Посмотреть сообщение
код работает но сложный я студент еще не все изучи можно написать по проще или прокомментировать очень прошу
Тут комментировать нечего! STL Контейнер set, где элементы хранятся без дубликатов & отсортированными.
А чтобы узнать про -48 поглядите на таблицу ASCII
0
liv
554 / 523 / 143
Регистрация: 07.10.2015
Сообщений: 1,703
Завершенные тесты: 1
09.03.2017, 13:19 15
Цитата Сообщение от Rauzer Посмотреть сообщение
я студент
ну так, на то ты и студент, учись
0
Rauzer
0 / 0 / 1
Регистрация: 20.02.2017
Сообщений: 64
Завершенные тесты: 1
09.03.2017, 13:21  [ТС] 16
проблема в том что нельзя объяснять то чего еще не проходили!!!
прошу упростить код
0
liv
554 / 523 / 143
Регистрация: 07.10.2015
Сообщений: 1,703
Завершенные тесты: 1
09.03.2017, 13:31 17
Rauzer, Мы не можем догадываться, что Вы там проходили!
Возьми мой код, он без STL. Все сделано "ручками". Считается количество всех цифр. Затем считаются те счетчики, которые равны 1.

Добавлено через 5 минут
Не нравится код? Пойми, как работает и переделай, как считаешь нужным.
Главная проблема - без самостоятельной работы и осмысления программировать не научишься.
Читай книги...
0
Aymurat
119 / 111 / 65
Регистрация: 07.11.2014
Сообщений: 761
Завершенные тесты: 6
09.03.2017, 13:31 18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Rus");
    int cifry[10] = {0,};
    int N;
    cout<<"Введите N:"<<endl;
    cin>>N;
    while(N>0)
    {
        cifry[N%10]++;
        N=N/10;
    }
    int cnt = 0;
    for(int i = 0; i < 10; i++)
    {
        if (cifry[i]>0) cnt++;
    }
    cout<<"В этом числе содержится "<<cnt<<" различных цифр";
    return 0;
}
1
liv
554 / 523 / 143
Регистрация: 07.10.2015
Сообщений: 1,703
Завершенные тесты: 1
09.03.2017, 13:35 19
Aymurat, кстати, код не решает задачу. Надо же посчитать разные цифры
0
Rauzer
0 / 0 / 1
Регистрация: 20.02.2017
Сообщений: 64
Завершенные тесты: 1
09.03.2017, 13:35  [ТС] 20
спс то что нужно!!!
0
09.03.2017, 13:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2017, 13:35

Перевести с Паскаля на С++
uses crt; var n,k:byte; p,s:longint; begin clrscr; write('Введите...

Перевести из паскаля в С
Условие: Постройте массив p=2,p,...,p, где p=2, p=3, ..., p - n-е простое число...

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


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

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

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