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

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

Войти
Регистрация
Восстановить пароль
 
 
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
#1

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

24.01.2013, 02:22. Просмотров 563. Ответов 15
Метки нет (Все метки)

Помогите пожалуйста перевести программку из 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;
буду очень признателен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 02:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод из delphi в c++ (C++):

Перевод из Delphi в c++ - C++
Помогите перевести код в с++ unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Перевод из Delphi в C++ - C++
Есть код на Делфи помогите пожалуйста перевести его в С++Bulder. ...... const MapFName = 'D:\MIKHAILP\DOCUM\Projects\ISTC_robot ...

Перевод с Delphi на С++ - C++
Всем привет. Ребята помогите перевести код проекта с delphi на с++. Вот проект

Перевод кода с Delphi на C++ - C++
procedure TForm2.Edit1Change(Sender: TObject); begin ADOTable1.Filtered:=false; ADOTable1.Filter:='Фамилия LIKE...

Перевод Turdo Delphi в C++ - C++
Нужно перевести программу, написанную на языке Turdo Delphi в C++. Вот сам код: program PT1; {$Apptype Console} uses SysUtils; ...

перевод из Delphi в Builder - C++
type Point = record color : TColor; x, y : Integer; end; type PointArray = array of array of Point; var pa:...

15
Avazart
Эксперт С++
7238 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,156
Записей в блоге: 17
24.01.2013, 02:29 #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;
}
А вообще компилятор какой ?
0
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 02:34  [ТС] #3
xCode

не объяснишь ламеру что такое length и с чем его едят?
0
Avazart
Эксперт С++
7238 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,156
Записей в блоге: 17
24.01.2013, 02:40 #4
Длина строки - количество символов

Добавлено через 1 минуту
Возможно ошибка в цикле
C++
1
for(size_t i=1; i<=str.length(); i++) result+= str[str.length()-i];
В Delphi вроде строки начинаются с "1" ( в С++ с "0" )
0
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
24.01.2013, 02:48 #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 для этого дела, принимает адресс начала строки и изменяет задом на перёд.
0
Avazart
Эксперт С++
7238 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,156
Записей в блоге: 17
24.01.2013, 02:50 #6
Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
В Си есть ф-ция strrev для этого дела, принимает адресс начала строки и изменяет задом на перёд.
При чем тут Си ?
0
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 02:54  [ТС] #7
Тогда как проще написать программу, которая тексты задом наперёд выводит? Я хотел задать сделать по типу той, что в начале на делфи скидывал, но пока нифига не получается
0
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
24.01.2013, 03:00 #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");
        
}
0
Avazart
Эксперт С++
7238 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,156
Записей в блоге: 17
24.01.2013, 03:03 #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 Посмотреть сообщение
Может потому что эту ф-цию можна использовать и в С++?)
Можно но лучше не использовать, ибо опасно и неудобно...
0
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 03:05  [ТС] #10
В 11 строке ошибку пишет, не знает что такое strrev
0
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
24.01.2013, 03:09 #11
Цитата Сообщение от Avazart Посмотреть сообщение
[CPP] Можно но лучше не использовать, ибо опасно и неудобно...
Ясно, я почему-то щитаю что не нужно ити сложным путём, если можна пойти путём попроще и понятным.
Нащёт безопасности както хз.

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

C++
1
#include "string.h"
1
Avazart
Эксперт С++
7238 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,156
Записей в блоге: 17
24.01.2013, 03:14 #12
Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
если можна пойти путём попроще и понятным.
Ну сомневаюсь что с char проще...

Цитата Сообщение от MickeyBlueEyes Посмотреть сообщение
Нащёт безопасности както хз.
C++
1
2
 char result[5]; // неподраЩитали
 func("Hello world", &result[0]); //  Упс !!!
0
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 03:30  [ТС] #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 работает
0
Avazart
Эксперт С++
7238 / 5434 / 304
Регистрация: 10.12.2010
Сообщений: 24,156
Записей в блоге: 17
24.01.2013, 03:50 #14
C++
1
2
3
4
5
 string words;
 cout<<"Введи текст: ";
 getline(cin,words);
 reverse(words.begin(), words.end() );
 cout<<words<<endl;
1
koks_life
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 19
24.01.2013, 04:02  [ТС] #15
Ништяяяяк) Пасиба большое за помощь
0
24.01.2013, 04:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 04:02
Привет! Вот еще темы с ответами:

Работа со строками - перевод с Delphi в С++ - C++
Доброго времени суток! Проблема с переводом кода в С++. Сам код в Delphi: var FM : TextFile; i: Integer; ...

Перевод кода с Delphi, деление нацело - C++
во общем есть условие { if ((y4*x3 div 10).quot==4) if (((100*x1+10*x2+x3)*y1 div 100)&gt;0)&amp;&amp;(((100*x1+10*x2+x3)*y1...

Перевод из Delphi (Алгоритм нахождения наибольшего паросочетания в двудольном графе) - C++
UNIT1 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,...

Перевод из Delphi 7 в Delphi XE2 - Delphi
Вообщем Этот код на delphi 7 спокойно компилируется: Function ResolveIP(HostName: String): String; Type tAddr = Array Of...


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

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

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