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

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

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

Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+" - C++

02.01.2013, 12:23. Просмотров 629. Ответов 16
Метки нет (Все метки)

Добрый день помогите перевести код на Паскале на язык C++.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
const
a='+';
b='-';
var
f : Text;
st: String;
i: Byte;
begin
Writeln('Введите текст: ');
Readln(st);
   Assign(f, 'File.txt');
   Rewrite(f);
   Writeln(f, st);
   Close(f);
for i:=1 to Length(st) do
 if st[i]=b then st[i]:=a;
   Writeln(st);
   Rewrite(f);
   Writeln(f, st);
   Close(f);
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2013, 12:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+" (C++):

Напечатать заданный непустой текст удалив из него все цифры и удвоив все знаки "+" и "-" - C++
напечатать заданный непустой текст удалив из него все цифры и удвоив все знаки "+" и "-"

Расставить между числами знаки "+" и "-" так, чтобы значение выражение стало равно S - C++
Даны N целых чисел X1, X2, ..., XN. Расставить между ними знаки "+" и "-" так, чтобы значение получившегося выражения было равно заданному...

Сколько существует способов расставить между цифр знаки "+" и "-" - C++
Вот сама задача - {удалено} Не могу сделать норм перебор

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Удалить все знаки "+" из массива char - C++
Дан массив типа char необходимо: удалить все знаки "+"

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avazart
Эксперт С++
7185 / 5359 / 280
Регистрация: 10.12.2010
Сообщений: 23,650
Записей в блоге: 17
02.01.2013, 14:27 #2
http://www.cplusplus.com/reference/algorithm/replace/
0
Buuren
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 12
02.01.2013, 15:50  [ТС] #3
Avazart, всеровну не понял
0
Avazart
Эксперт С++
7185 / 5359 / 280
Регистрация: 10.12.2010
Сообщений: 23,650
Записей в блоге: 17
02.01.2013, 15:52 #4
Что там непонятного ... Там пример есть...
0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
02.01.2013, 16:09 #5
Buuren, если непонятно так, сделаем по другому:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include <fstream>
 
int main()
{
    std::ifstream in("1.txt");
    std::ofstream out("2.txt");
    char ch;
    in.get(ch);
    while(!in.eof())
    {
        if(ch=='+')
            out<<'-';
        else if(ch=='-')
            out<<'+';
        else
            out<<ch;
        in.get(ch);
    }
    in.close();
    out.close();
    return 0;
}
0
Buuren
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 12
02.01.2013, 16:10  [ТС] #6
Avazart, я в си 0 хоть наглядный пример дай не понимаю всеровну

Добавлено через 33 секунды
ZaMaZaN4iK, спасибо тебе большое выручил реально
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.01.2013, 16:22 #7
C++
1
std::for_each(str.begin(), str.end(), _1 -= 4 / ( (_1 - 44) * (_1 - 44) +  1) * (_1 - 44));
Результат: http://liveworkspace.org/code/1pUEwM
1
Buuren
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 12
02.01.2013, 16:46  [ТС] #8
diagon,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <boost/lambda/lambda.hpp>
#include <string>
#include <algorithm>
 
int main()
{
   using namespace boost::lambda;
 
    std::string str = "123455++--1";
    std::for_each(str.begin(), str.end(), _1 -= 4 / ( (_1 - 44) * (_1 - 44) +  1) * (_1 - 44) );
    std::cout << str;
}
это как бы вся задача или что?
0
Avazart
Эксперт С++
7185 / 5359 / 280
Регистрация: 10.12.2010
Сообщений: 23,650
Записей в блоге: 17
02.01.2013, 17:06 #9
Заменить в файле все знаки "+" на знаки "-", а знаки "-" на знаки "+"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
//-------------------------------------
int main()
{
std::string s= "-some++text-";
std::cout<<s<<std::endl;
 
for(size_t i=0; i<s.length(); i++)
 switch(s[i])
   {
     case '+': s[i]='-';break;
     case '-': s[i]='+';break;
   }
 
std::cout<<s<<std::endl;
return 0;
}
//--------------------------------------
0
Catstail
Модератор
22613 / 10974 / 1778
Регистрация: 12.02.2012
Сообщений: 18,105
02.01.2013, 17:16 #10
diagon, и Вы полагаете, что это хороший код?
0
diagon
02.01.2013, 17:27
  #11

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
diagon, и Вы полагаете, что это хороший код?
Почему нет?
Все интереснее, чем писать классические хелловорлды.

0
Catstail
Модератор
22613 / 10974 / 1778
Регистрация: 12.02.2012
Сообщений: 18,105
02.01.2013, 17:40 #12
Занятный код - согласен. Но в реальных проектах не очень уместный...
0
Avazart
Эксперт С++
7185 / 5359 / 280
Регистрация: 10.12.2010
Сообщений: 23,650
Записей в блоге: 17
02.01.2013, 18:34 #13
При новом стандарте, куда прозрачнее будет смотреться конструкция с for( : )
0
Catstail
Модератор
22613 / 10974 / 1778
Регистрация: 12.02.2012
Сообщений: 18,105
02.01.2013, 18:34 #14
Кстати, а на запятой (ASCII=44) код не заглючит?
0
Avazart
Эксперт С++
7185 / 5359 / 280
Регистрация: 10.12.2010
Сообщений: 23,650
Записей в блоге: 17
02.01.2013, 18:38 #15
Ну да код вероятно зависим от локали ( кодировки )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2013, 18:38
Привет! Вот еще темы с ответами:

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.01.2013, 18:38
Ответ Создать тему
Опции темы

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