Форум программистов, компьютерный форум CyberForum.ru

Переписать код с Паскаля на С++ - C++

Восстановить пароль Регистрация
 
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
23.01.2012, 22:35     Переписать код с Паскаля на С++ #1
Ни как не могу разобраться со строчным типом в С++
делаю проги в Borland С++
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
const zn:string[16]='0123456789ABCDEF';//цифры в СС 16
var n:longint;
    s:string;
begin
clrscr;
write('Число в системе 10=');
readln(n);
s:='';
while n>0 do
 begin
  s:=zn[n mod 16+1]+s;//берем остаток от деления на 16 и эту цифру пишем в начало строки
  n:=n div 16;//сокращаем
 end;
write('      В системе 16 =',s);
readln
end.
Есть ещё хорошая реализация программы на С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
void main ()
{
unsigned int tmp=0, mask = 0xF0000000;
cout<<"Enter the number"<<endl;
cin >> tmp;
cout << "0x";
while(tmp)
{
if((tmp&mask)>>0x1C < 10) cout << (char)('0'+((tmp&mask)>>0x1C));
else cout << (char)('A'+((tmp&mask)>>0x1C)-10);
tmp<<=0x04;
}
cout<<endl;
return;
}
Но компилятор ругается на строку using namespace std;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 22:35     Переписать код с Паскаля на С++
Посмотрите здесь:

Переписать з паскаля на С C++
C++ Переписать с паскаля на С++
Переписать с Паскаля на С++ C++
C++ переписать из паскаля в с++
Переписать из паскаля C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
23.01.2012, 22:55     Переписать код с Паскаля на С++ #2
Как видно, здесь все компилируется, если немного подправить:
http://codepad.org/7DM8Tz1E
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
23.01.2012, 23:07  [ТС]     Переписать код с Паскаля на С++ #3
Цитата Сообщение от BumerangSP Посмотреть сообщение
Как видно, здесь все компилируется, если немного подправить:
http://codepad.org/7DM8Tz1E
а в этом коде нужно цикл while на for поменять и все будет работать
Я это и пытаюсь сделать как заменить строку using namespace std; на альтернативное объявление, что-бы программа заработала Borland C++
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
24.01.2012, 01:24     Переписать код с Паскаля на С++ #4
Можно конечно вообще убрать эту строку, но перед каждым cin, cout нужно будет писать "std::". Хотя вряд ли это чем-то поможет.
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
24.01.2012, 02:53     Переписать код с Паскаля на С++ #5
в борланде using namespace std; не нужно писать вообще
QremQ
4 / 4 / 0
Регистрация: 23.08.2009
Сообщений: 32
24.01.2012, 11:36  [ТС]     Переписать код с Паскаля на С++ #6
Цитата Сообщение от edward_jonson Посмотреть сообщение
в борланде using namespace std; не нужно писать вообще
тогда программа работает не корректно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 13:51     Переписать код с Паскаля на С++
Еще ссылки по теме:

C++ Переписать с Паскаля на С++
C++ Переписать с паскаля на С
Переписать из Паскаля в С++ C++

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
24.01.2012, 13:51     Переписать код с Паскаля на С++ #7
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
#include <stdio.h>
#include <conio.h>
 
char* reverse(char* s, int n)
{
    char t;
    char* p1 = s;
    char* p2 = s + n - 1;
 
    for(; p1 < p2; ++p1, --p2)
    {
        t = *p1;
        *p1 = *p2;
        *p2 = t;
    }
 
    return s;
}
 
int main()
{
    int i;
    unsigned int n;
    char s[100] = "0";
    const char* zn = "0123456789ABCDEF";
 
    clrscr();
    printf("Число в системе 10 = ");
    scanf("%u", &n);
 
    for(i = 0; n > 0; ++i)
    {
        s[i] = zn[n % 16];
        n/= 16;
    }
 
    printf("В системе 16 = %s\n", reverse(s, i));
    getch();
 
    return 0;
}
Yandex
Объявления
24.01.2012, 13:51     Переписать код с Паскаля на С++
Ответ Создать тему
Опции темы

Текущее время: 18:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru