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

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

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

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

20.12.2012, 01:16. Просмотров 359. Ответов 2
Метки нет (Все метки)

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

В одномерном массиве из целых чисел вставить новый элемент между всеми парами элементов, имеющими разные знаки - C++
одномерном массиве из целых чисел вставить новый элемент между всеми парами элементов,имеющими разные знаки

Нахождения кратчайших путей между всеми парами вершин графа - C++
Подскажите как можно улучшить алгоритм Флойда-Уоршелла что-бы он верно работал если длина некоторых векторов равно 0 (то есть отсутствую). ...

Исключить из текста символы, расположенные между всеми парами скобок - C++
Задание: Дан текст. Исключить из него символы, расположенные между всеми парами скобок (, ). Сами скобки тоже должны быть исключены....

Вычислить количество различных путей между всеми парами вершин графа - C++
Задан граф с N вершинами вычислить количество различных путей между всеми парами вершин графа

Найти минимальные пути между всеми парами вершин, используя алгоритм Флойда. - C++
Найти минимальные пути между всеми парами вершин, используя алгоритм Флойда. А л г о р и т м Ф л о й д а Данные: матрица весов...

В строке между словами вставить символ / - C++
В строке между словами вставить символ /. Выполнить через команды на DOS 3.1 Добавлено через 1 час 50 минут пожалуйста. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,223
Записей в блоге: 3
Завершенные тесты: 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?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 12:26
Привет! Вот еще темы с ответами:

Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить.... - C++
Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на 3,...

Определить, имеется ли в заданной строке пара соседних одинаковых символов - C++
Задан текст определить имеется ли в заданной строке пара соседних одинаковых символа

В строке найти количество встречающихся рядом символов соседних по алфавиту - C++
В строке найти количество встречающихся рядом символов «соседних по алфавиту» - «а» и «б», «Ю» и «Я» и т.п. Дописать в конец строки...

Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ - C++
Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ.


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

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

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