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

Перевод из delphi в c++ - C++

Восстановить пароль Регистрация
 
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 02:22     Перевод из delphi в c++ #1
Помогите пожалуйста перевести программку из delphi в c++

Delphi
1
2
3
4
5
6
function ReflectStr(str:string):string;
var
i:integer;
begin
for i:=0 to length(str)-1 do result:=result+str[length(str)-i];
end;
буду очень признателен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 02:22     Перевод из delphi в c++
Посмотрите здесь:

C++ Перевод из Delphi в c++
Перевод из Delphi в C++ C++
Перевод Turdo Delphi в C++ C++
перевод из Delphi в Builder C++
Перевод if(n*n+m*m=i) then if(i<>a[c-1]) на с++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 02:29     Перевод из delphi в c++ #2
Delphi
1
2
3
4
5
6
function ReflectStr(str:string):string;
var
i:integer;
begin
for i:=0 to length(str)-1 do result:=result+str[length(str)-i];
end;
C++
1
2
3
4
5
6
7
8
9
#include<string>
 
std::string RectStr(std::string str)
{
   std::string result; 
   for(size_t i=0; i<str.length(); i++) result+= str[str.length()-i];
 
return result;
}
А вообще компилятор какой ?
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 02:34  [ТС]     Перевод из delphi в c++ #3
xCode

не объяснишь ламеру что такое length и с чем его едят?
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 02:40     Перевод из delphi в c++ #4
Длина строки - количество символов

Добавлено через 1 минуту
Возможно ошибка в цикле
C++
1
for(size_t i=1; i<=str.length(); i++) result+= str[str.length()-i];
В Delphi вроде строки начинаются с "1" ( в С++ с "0" )
MickeyBlueEyes
Студент
 Аватар для MickeyBlueEyes
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
24.01.2013, 02:48     Перевод из delphi в c++ #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
31
#include "stdafx.h"
#include <iostream>
#include "string.h"
 
using namespace std;
 
 
void func(char * str, char * result){
 
    unsigned int i = 0;
 
    for(; i <= (strlen(str) - 1); i++){
        result[i] = str[((strlen(str) - 1) - i)];
    }
 
    result[i] = '\0';
 
}
 
int main()
{       
 
    char result[30];
 
    func("Hello world", &result[0]);
 
    cout << result;
    
    system("PAUSE");
        
}
Добавлено через 6 минут
В Си есть ф-ция strrev для этого дела, принимает адресс начала строки и изменяет задом на перёд.
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 02:50     Перевод из delphi в c++ #6
Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
В Си есть ф-ция strrev для этого дела, принимает адресс начала строки и изменяет задом на перёд.
При чем тут Си ?
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 02:54  [ТС]     Перевод из delphi в c++ #7
Тогда как проще написать программу, которая тексты задом наперёд выводит? Я хотел задать сделать по типу той, что в начале на делфи скидывал, но пока нифига не получается
MickeyBlueEyes
Студент
 Аватар для MickeyBlueEyes
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
24.01.2013, 03:00     Перевод из delphi в c++ #8
Цитата Сообщение от Avazart Посмотреть сообщение
При чем тут Си ?
Может потому что эту ф-цию можна использовать и в С++?)

Добавлено через 1 минуту
Цитата Сообщение от koks_life Посмотреть сообщение
Тогда как проще написать программу, которая тексты задом наперёд выводит? Я хотел задать сделать по типу той, что в начале на делфи скидывал, но пока нифига не получается
Можна воспользоватся ф-цией strrev(), а можна примерами которые описывали высше.

Добавлено через 2 минуты
Например так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
#include "string.h"
using namespace std;
 
int main(){       
 
    char result[] = "Hello world";
 
    strrev(result);
 
    cout << result;
    
    system("PAUSE");
        
}
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 03:03     Перевод из delphi в c++ #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//---------------------------------------------------------------------------
#include <iostream>
#include <algorithm>
#include <string>
//---------------------------------------------------------------------------
int main()
{
 
  std::string s="1234";
  std::reverse(s.begin(), s.end() );
  std::cout<< s <<std::endl;
 
getchar();
return 0;
}
//---------------------------------------------------------------------------
4321
Добавлено через 1 минуту
Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
Может потому что эту ф-цию можна использовать и в С++?)
Можно но лучше не использовать, ибо опасно и неудобно...
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 03:05  [ТС]     Перевод из delphi в c++ #10
В 11 строке ошибку пишет, не знает что такое strrev
MickeyBlueEyes
Студент
 Аватар для MickeyBlueEyes
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
24.01.2013, 03:09     Перевод из delphi в c++ #11
Цитата Сообщение от Avazart Посмотреть сообщение
[CPP] Можно но лучше не использовать, ибо опасно и неудобно...
Ясно, я почему-то щитаю что не нужно ити сложным путём, если можна пойти путём попроще и понятным.
Нащёт безопасности както хз.

Добавлено через 1 минуту
Цитата Сообщение от koks_life Посмотреть сообщение
В 11 строке ошибку пишет, не знает что такое strrev
А что за среда разработки?
Библиотека string.h подключена?

C++
1
#include "string.h"
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 03:14     Перевод из delphi в c++ #12
Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
если можна пойти путём попроще и понятным.
Ну сомневаюсь что с char проще...

Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
Нащёт безопасности както хз.
C++
1
2
 char result[5]; // неподраЩитали
 func("Hello world", &result[0]); //  Упс !!!
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 03:30  [ТС]     Перевод из delphi в c++ #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    string words;
    cout<<"Введи текст: ";
    cin>>words;
    reverse(words.begin(), words.end() );
    cout<< words <<endl;
  }
Работает, но до первого пробела -.-"

Среда xCode, библиотека String работает
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 03:50     Перевод из delphi в c++ #14
C++
1
2
3
4
5
 string words;
 cout<<"Введи текст: ";
 getline(cin,words);
 reverse(words.begin(), words.end() );
 cout<<words<<endl;
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 04:02  [ТС]     Перевод из delphi в c++ #15
Ништяяяяк) Пасиба большое за помощь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 04:04     Перевод из delphi в c++
Еще ссылки по теме:

C++ Перевод с Delphi на С++
Перевод из Delphi (Алгоритм нахождения наибольшего паросочетания в двудольном графе) C++
Перевод с Си на С++ C++

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,563
Записей в блоге: 17
24.01.2013, 04:04     Перевод из delphi в c++ #16
http://www.cplusplus.com/reference/algorithm/reverse/
Yandex
Объявления
24.01.2013, 04:04     Перевод из delphi в c++
Ответ Создать тему
Опции темы

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