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

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

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

Как заменить символ "*" на "??" - C++

22.06.2014, 01:19. Просмотров 480. Ответов 5
Метки нет (Все метки)

доброго вечера. подскажите пожалуйста у меня по заданию идет заменить каждую встречающуюся * на ??(считываемую из файла). я понял как заменить * на ?, но как на ??. добавлю листинг который сделал.буду очень благодарен.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<fstream>
using namespace std;
void main()
{setlocale(0,"");
    char name[81];
cout<<"введите путь к файлу и нажмите ENTER"<<endl;
cin.getline(name,80);
    ifstream in(name);
    if(!in){cout<<"Ошибка!."<<endl; system("pause");}
    char a[40];
    in.getline(a,sizeof(a));
    cout<<"Начальная строка:"<<a<<endl;
 
for(int i=0;i<255;i++)
    if(a[i]==(char)42) {a[i]=(char)63;}
cout<<"Полученная сторока: "<<a<<endl;
 
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 01:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как заменить символ "*" на "??" (C++):

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

Заменить в последовательности символов после первого вхождения символа "+" все цифры на символ "-" - C++
Заменить в последовательности символов после первого вхождения символа &quot;+&quot;все цифры на символ &quot;-&quot;О_о Добавлено через 1 минуту что бы...

Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*". - C++
Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков &quot;+&quot;, &quot;-&quot;, &quot;*&quot;. Групой...

На C++ в строке после символа - "+" поставить символ "*" и посчитать сколько "+" - C++
С++ Мы вводим вручную строку , (через cin &gt;&gt; )программа должна после каждого &quot;+&quot; поставить &quot;*&quot; потом посчитать сколько всего было &quot;+&quot;...

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

В тексте заменить символы "fh" на символ "с" - C++
дан входной файл нужно обработать и записать в выходной вот задание В тексте заменить символы &quot;fh&quot; на символ &quot;с&quot;. В тексте несколько...

5
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
22.06.2014, 01:34 #2
Цитата Сообщение от сприт Посмотреть сообщение
доброго вечера. подскажите пожалуйста у меня по заданию идет заменить каждую встречающуюся * на ??(считываемую из файла)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include<fstream>
#include<string>
#include<algorithm>
#include<iterator>
int main()
{
    std::string str;
    std::ifstream in("file.txt");
    std::copy(std::istream_iterator<char>(in),std::istream_iterator<char>(),std::back_inserter(str));
    int index(0);
    while((index = str.find('*'))!=std::string::npos)
        str.replace(index,1,"??");
    std::cout<<str;
    return 0;
}
1
сприт
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 11
22.06.2014, 04:18  [ТС] #3
здравствуйте помогите плиз. каждую входящую "*" должно менять на "??"(считывается из файла)но выдает чепуху что в файле забито
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
#include<iostream>
#include<fstream>
#include<string>
int n,i;
using namespace std;
void main()
{setlocale(0,"");
ifstream in("D:\\1.txt");
if(!in){cout«"Ошибка!."«endl; system("pause");}
 
while(!in.eof())
{in.get();
 
n++;}
in.close();
in.open("D:\\1.txt");
char *a=new char[n];
string *s=new string[n];
for(int i=0;i<n;i++)
a[i]=in.get();
for(int i=0;i<n;i++)
{if(a[i] ='*') s[i]="??";
else s[i]=a[i];}
cout«a«endl;
system("pause");}
0
сприт
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 11
22.06.2014, 04:22  [ТС] #4
а можно чутку проще вариант?

Добавлено через 2 часа 41 минуту
cooller, а можно подробное разъяснение листинга? что да как? просто не понятно
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2014, 05:07 #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
32
33
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
 
int main()
{
    setlocale(0, "");
    ifstream in("D:\\1.txt");
    if(!in)
    {
        cout << "Ошибка!." << endl; 
        system("pause");
        return 0;
    }
    
    string s;
    char ch;
    while (in.get(ch))
    {
        if (ch != '*')
            s += ch;
        else
        {
            s += "??";
        }
    }
    
    cout << s << endl;
    
    system("pause");
    return 0;
}
В файле:
** asdff sdfd * sdfs
** sdfs ddd*
sdf ssd** sdf8*
1
Миниатюры
Как заменить символ "*" на "??"  
сприт
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 11
22.06.2014, 10:55  [ТС] #6
alsav22, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2014, 10:55
Привет! Вот еще темы с ответами:

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

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

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

Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" - C++
дано натуральное число n. Вывести на экран фразу &quot;Мне n лет&quot;, учитывая что при некоторых значениях n слово &quot;лет&quot; надо заменить на &quot;год&quot; или...


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

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

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