Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
4 / 4 / 4
Регистрация: 08.09.2015
Сообщений: 76
1

Работа с Char и String

26.03.2016, 07:40. Показов 1004. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Задание: Дан текст. Вставить в него точку после каждого второго слова.

Как можно осуществить подобное используя char.

Я так понимаю алгоритм будет таков:
Цикл от 0 до "размер строки"
Если символ = " ", то вот тут тупик.
Нам надо заменить его на запятую, но пи этом еще и увеличить размер строки подписав туда еще пробел.

Пробовал переписывать одну строку в вторую, но тоже потерпел фиаско. Подскажите плз умную идею)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2016, 07:40
Ответы с готовыми решениями:

Работа с char и string
Привет. Продолжаю изучать C++. Можете посоветовать хорошую книгу или что-нибудь вроде книги(может статью), про работу с типами char и...

Работа с char и string ф-циями
const 1nt l_name = 30; const 1nt l_year = 5; const 1nt l_pay =10; const 1nt l_buf = l_name + l_year + l_pay; ... void...

есть массив char. есть строка string. как присвоить значению string-a значение char-a?
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

4
 Аватар для iars
6 / 6 / 7
Регистрация: 19.03.2016
Сообщений: 50
26.03.2016, 07:52 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 <sstream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() {
    ifstream in("test.txt");
    stringstream sstream;
    string s;
    int i = 1;
    
    do {
        in >> s;
        sstream << s;
        
        if(i++ % 2 == 0)
            sstream << ".";
        
        sstream << " ";
    } while(!in.eof());
    
    cout << sstream.str() << endl;
}
содержимое test.txt:
C++
1
2
abc def test io kl nasd rqwe
weo dasjf ktiras opdasd nfad
результат:
C++
1
abc def. test io. kl nasd. rqwe weo. dasjf ktiras. opdasd nfad.
1
4 / 4 / 4
Регистрация: 08.09.2015
Сообщений: 76
26.03.2016, 09:00  [ТС] 3
Огромное спасибо за код, но загвоздка в том, что запретили использовать переменную стринг. Все нужно делать с массивом char
0
 Аватар для iars
6 / 6 / 7
Регистрация: 19.03.2016
Сообщений: 50
26.03.2016, 09:51 4
Лучший ответ Сообщение было отмечено zlodeyxgm как решение

Решение

zlodeyxgm,
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
#include <iostream>
#include <sstream>
#include <fstream>
 
using namespace std;
 
int main() {
    ifstream in("test.txt");
    stringstream sstream;
    char s[64];
    int i = 1;
    
    do {
        in >> s;
        sstream << s;
        
        if(i++ % 2 == 0)
            sstream << ".";
        
        sstream << " ";
    } while(!in.eof());
    
    cout << sstream.str() << endl;
}
или stringstream тоже запретили?
0
4 / 4 / 4
Регистрация: 08.09.2015
Сообщений: 76
26.03.2016, 10:57  [ТС] 5
Спасибо, попробую показать такой вариант. Вроде главным требованием было, что работу нужно проводить с символами. А по поводу функции не ограничивали сильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2016, 10:57
Помогаю со студенческими работами здесь

Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings])
Почему компилятор на это матерится? ObjA.Show(&quot;A&quot;); deprecated conversion from string constant to 'char*' #include &lt;iostream&gt;...

Строка: чем отличается строки string, char, char*?
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char* И если можно пару примеров Буду весьма признательна

Как преобразовать char* в string и вывести переменную string на экран?
for (int k = 0; k &lt; 10; k++) { int x = (int)rand() / RAND_MAX + rand() % 6 + 2; char *chars = new char; ...

Где и почему используют ту или иную строку std::string, char[], System::String^ ?
Где и почему используют ту или иную строку std::string, char, System::String^ ? Объясните пожалуйста где нужно использовать...

char char* string и константные значения
Робот может перемещаться в 4 направлениях c-Север, u- Юг, z- Запад, v- Восток ипринемать 3 цифровые команды 0-продолжать движение 1 на...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru