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

Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке) - C++

Восстановить пароль Регистрация
 
Valentinka_
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 3
20.12.2012, 01:16     Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке) #1
Здравствуйте! Есть такая задачка:Файл состоит из записей вида "s пробел c", где s -строка, а с - символ. Требуется вставить с между всеми парами соседних символов s в каждой записи и записать результат в другой файл. Например, "брбн а" преобразуется в "барабан".
Подскажите пожалуйста в чём тут фишка - никак не могу понять. Подскажите вариант реализации.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 01:16     Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке)
Посмотрите здесь:

В строке между словами вставить символ / C++
C++ Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
Найти минимальные пути между всеми парами вершин, используя алгоритм Флойда. C++
C++ Определить, имеется ли в заданной строке пара соседних одинаковых символов
Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ C++
Нахождения кратчайших путей между всеми парами вершин графа C++
C++ Вычислить количество различных путей между всеми парами вершин графа
C++ В строке найти количество встречающихся рядом символов соседних по алфавиту

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11847 / 6826 / 771
Регистрация: 27.09.2012
Сообщений: 16,924
Записей в блоге: 2
Завершенные тесты: 1
20.12.2012, 02:34     Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке) #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
#include <iostream>
#include <fstream>
 
int main(){
    std::ifstream infile("input.txt",std::ios::in);
    std::ofstream outfile("output.txt",std::ios::out);
    char str[1024];
    char ch, s[1024];
    char * pend;
    while(infile.getline(str,1024)){
        char *p;
        for(p=str,pend=s;(*p!=' ')&&(*pend=*p);++p,++pend);
        for(;(*p==' ')&& *p;++p);
        ch=*p;*pend=0;
        for(char *p=s+1;p<pend;p+=2){
            memmove(p+1,p,(pend-p)*sizeof(*p));
            *(++pend)=0;
            *p=ch;
        }
        outfile<<s<<'\n';
    }
    std::cout<<"Press Enter";
    std::cin.get();
    return 0;
}
Valentinka_
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 3
20.12.2012, 12:26  [ТС]     Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке) #3
Спасибо огромное,Croessmah! а можно это как-то сделать не используя функцию memmove? И я понимаю,что ifstream и ifstream оптимально, но можно ли как-то используя puts и gets?
Yandex
Объявления
20.12.2012, 12:26     Задачка со строками(Требуется вставить символ между всеми парами соседних символов в строке)
Ответ Создать тему
Опции темы

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