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

Из Паскаля в С++ - C++

Восстановить пароль Регистрация
 
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
01.07.2012, 19:13     Из Паскаля в С++ #1
Здравствуйте. Помогите переписать этот код на C++. Сам пробовал, но не получается.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var a,b:string;
begin
assign(input,'input.txt'); reset(input);
assign(output,'output.txt'); rewrite(output);
readln(a);
read(b);
a:=a+'a';
b:=b+'a';
while a+b<'aa' do
 if a<b then begin
   write(a[1]); delete(a,1,1);  end
 else begin
   write(b[1]); delete(b,1,1);  end;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2012, 19:13     Из Паскаля в С++
Посмотрите здесь:

с паскаля на Си++ C++
из паскаля в С++ C++
Из паскаля в С++ C++
С паскаля на с++ C++
С паскаля в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
01.07.2012, 20:17     Из Паскаля в С++ #2
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 <fstream>
#include <string>
 
using namespace std;
 
int main()
{
    string a, b;
    ifstream input("input.txt");
    ofstream output("output.txt", ios::out | ios::trunc);
    getline(input, a);
    getline(input, b);
    a += 'a';
    b += 'b';
    while (a + b < "aa")
    {
        if (a < b)
        {
            output << a[1];
            a.erase(0, 1);
        }
        else
        {
            output << b[1];
            b.erase(0, 1);
        }
    }
}
Или
C++
1
2
3
4
5
6
    while (a + b < "aa")
    {
        string& s = a < b ? a : b;
        output << s[0];
        s.erase(0, 1);
    }
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
02.07.2012, 07:44  [ТС]     Из Паскаля в С++ #3
Спасибо, все работает ! Но я , что - то не понимаю как работает второй вариант цикла.
Цитата Сообщение от Somebody Посмотреть сообщение
[CPP]#include <fstream>
C++
1
2
3
4
5
6
    while (a + b < "aa")
    {
        string& s = a < b ? a : b;
        output << s[0];
        s.erase(0, 1);
    }
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
02.07.2012, 07:54     Из Паскаля в С++ #4
Цитата Сообщение от sievmi Посмотреть сообщение
Спасибо, все работает ! Но я , что - то не понимаю как работает второй вариант цикла.
C++
1
a < b ? a : b
это не понимаете?
это тоже самое что и
Pascal
1
if (a<b) then a else b;
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
02.07.2012, 08:01  [ТС]     Из Паскаля в С++ #5
Не знал, что так можно. Тоесть любые условия так заменять можно ?
условие ? 1 конструкция : 2 конструкция

И еще вопрос:
Что значит вот это: string&
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
02.07.2012, 08:08     Из Паскаля в С++ #6
Цитата Сообщение от sievmi Посмотреть сообщение
Не знал, что так можно. Тоесть любые условия так заменять можно ?
условие ? 1 конструкция : 2 конструкция

И еще вопрос:
Что значит вот это: string&
не не любые только это.
string & это ссылка на объект типа стринг, т.е. ты работаешь как с переменной типа стринг, но значение не копируется, а работаешь через ссылку
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
02.07.2012, 08:14  [ТС]     Из Паскаля в С++ #7
Цитата Сообщение от DaskOFF Посмотреть сообщение
не не любые только это.
МОжно использовать только там где используется ссылка?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
02.07.2012, 16:07     Из Паскаля в С++ #8
sievmi, читайте книги, вам тут не объяснят все в паре сообщений
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2012, 19:14     Из Паскаля в С++
Еще ссылки по теме:

C++ С Паскаля на С++
С Паскаля на С++ C++
C++ с паскаля в с++

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

Или воспользуйтесь поиском по форуму:
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
02.07.2012, 19:14  [ТС]     Из Паскаля в С++ #9
neske, Так и поступлю ), я читаю сейчас свою первую книгу по C++ (Шилдт. Руководстов для начинающих) , но еще видимо не дошел до этого момента.
Yandex
Объявления
02.07.2012, 19:14     Из Паскаля в С++
Ответ Создать тему
Опции темы

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