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

Написать программу, которая вставляет запятую после каждого пробела - C++

Восстановить пароль Регистрация
 
blocker147
0 / 0 / 1
Регистрация: 14.12.2015
Сообщений: 119
24.03.2016, 17:52     Написать программу, которая вставляет запятую после каждого пробела #1
C++
1
2
3
4
5
6
7
    char str1[250];
    cin.getline(str1, 250);
    for (int i = 0; i < strlen(str1); i++){
        if (str1[i] == ' '){
            str1[i + 1] = str1[i + ','];
        }
    }cout << "New str: " << str1 << endl;
Ввожу: Hello world
Выводит: Hello ?world

(?-непонятный символ)


Предпологаю что нужно увеличить размер массива символов но не знаю как
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2016, 17:52     Написать программу, которая вставляет запятую после каждого пробела
Посмотрите здесь:

Написать программу, которая считывает текст из файла, добавляет после каждого предложения сколько раз в нем встретилось введенное слово C++
C++ Написать функцию, которая вставляет после каждого пробела запятую
C++ работа с файлами(как написать программу добавления в текстовый файл после какой-то определённой буквы одного пробела?)
C++ Строки С++. В строке после каждого слова вставить запятую
Написать программу добавления пробела, после каждой буквы 'а', введенной строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ника))
 Аватар для Ника))
39 / 39 / 8
Регистрация: 08.12.2010
Сообщений: 338
24.03.2016, 18:06     Написать программу, которая вставляет запятую после каждого пробела #2
blocker147,
C++
1
 str1[i + 1] = str1[i + ','];
Это че?
Надо:
C++
1
 str1[i + 1] =',';
blocker147
0 / 0 / 1
Регистрация: 14.12.2015
Сообщений: 119
24.03.2016, 18:11  [ТС]     Написать программу, которая вставляет запятую после каждого пробела #3
ввод:Hello world
вывод:Hello ,orld

как исправить
Virchow
4 / 3 / 4
Регистрация: 21.03.2016
Сообщений: 33
24.03.2016, 18:13     Написать программу, которая вставляет запятую после каждого пробела #4
Цитата Сообщение от blocker147 Посмотреть сообщение
ввод:Hello world
вывод:Hello ,orld
как исправить
Вы заменяете следующий символ за пробелом, понятно, что это будет буква w, которая пропадет после замены. Сдвигайте массив, можете использовать временный.
blocker147
0 / 0 / 1
Регистрация: 14.12.2015
Сообщений: 119
24.03.2016, 18:24  [ТС]     Написать программу, которая вставляет запятую после каждого пробела #5
Спасибо, только вы не подскажете как это сделать?
Virchow
4 / 3 / 4
Регистрация: 21.03.2016
Сообщений: 33
24.03.2016, 19:14     Написать программу, которая вставляет запятую после каждого пробела #6
Например, можно так.
C++
1
2
3
4
5
6
            if (str1[i] == ' ')
            {
                    for (int j(strlen(str1)); j > i; j--)
                        str1[j] = str1[j-1];
                   str1[i+1] = ',';
            }
blocker147
0 / 0 / 1
Регистрация: 14.12.2015
Сообщений: 119
25.03.2016, 12:13  [ТС]     Написать программу, которая вставляет запятую после каждого пробела #7
Всё работает, но выдаёт непонятные символы в конце.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2016, 12:52     Написать программу, которая вставляет запятую после каждого пробела
Еще ссылки по теме:

Массив (Сделать программу, которая после каждой цифры в тексте вставляет в скобках её текстовый эквивалент) C++
C++ Написать программу, которая записывает пятизначное число в строку, с отступом в 3 пробела между каждой цифрой
Написать программу, которая включает после каждого отрицательного элемента целочисленного массива его модуль C++

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

Или воспользуйтесь поиском по форуму:
Virchow
4 / 3 / 4
Регистрация: 21.03.2016
Сообщений: 33
25.03.2016, 12:52     Написать программу, которая вставляет запятую после каждого пробела #8
Цитата Сообщение от blocker147 Посмотреть сообщение
Всё работает, но выдаёт непонятные символы в конце.
C++
1
2
3
4
5
6
        if (str1[i] == ' ')
        {
                for (int j(strlen(str1) + 1); j > i + 1; j--)
                    str1[j] = str1[j-1];
               str1[i+1] = ',';
        }
Yandex
Объявления
25.03.2016, 12:52     Написать программу, которая вставляет запятую после каждого пробела
Ответ Создать тему
Опции темы

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