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

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

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

Как доделать строки - C++

15.12.2013, 20:52. Просмотров 246. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста со строками. Конкретно код написал, но не всегда программа работает правильно. после каждого слова вставить точку, тест: (Hello world => Hello. world.). Я не знаю как сделать: (Лишние символы (с 81-ого) отбросить). Зарание спасибо.

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 <conio.h>
#include <stdio.h>
#include <math.h>
int main()
{
clrscr();
int k=0,i,kol1=0;
char A[100], s[100];
gets(A);
for (i=0; A[i]!='\0'; i++)
if (A[i]==' ')
{
s[k]='.';
s[k+1]=' ';
k+=2;
}
else { s[k]=A[i]; k++; }
s[k]=A[i];
s[k+1]='\0';
 
printf("\n");
puts(s);
 
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 20:52     Как доделать строки
Посмотрите здесь:

C++ генератор псевдослучайных чисел незнаю как доделать...
Застрял.Подскажите как доделать. C++
C++ подскажите как доделать программу
C++ не могу доделать.
C++ Как дальше доделать? Посмотрите. Почему она не работает?
C++ доделать программу
C++ Объясните как доделать программу
Как доделать длинную целочисленную арифметику? C++
C++ Подскажите как доделать прогу
Не понимаю как доделать программу C++
Как доделать калькулятор на С/С++ ? C++
Доделать код чтобы он искал произведение элементов строки в которой находится максимальный елемент C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
Заблокирован
15.12.2013, 20:58     Как доделать строки #2
А вы не забыли условие в for заключить в {}?
evgen1994
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 13
15.12.2013, 21:01  [ТС]     Как доделать строки #3
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
А вы не забыли условие в for заключить в {}?
Возможно, но особой роли думаю, это не сыграет
newbie666
Заблокирован
15.12.2013, 21:08     Как доделать строки #4
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
#include <tchar.h>
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    const size_t maxInputLenght = 4096;
    char *line = new char[maxInputLenght];
    std::cin.getline(line, maxInputLenght);
    std::stringstream ss(line);
    delete[] line;
    std::vector<std::string> words;
    while (!ss.eof())
    {
        std::string tmp;
        ss >> tmp;
        words.push_back(tmp);
    }
    for(auto it = words.begin(); it != words.end(); it++)
        *it += '.';
    for(auto it = words.begin(); it != words.end(); it++)
        std::cout << *it << std::endl;
    
    return 0;
}
evgen1994
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 13
15.12.2013, 21:27  [ТС]     Как доделать строки #5
newbie666, я конечно вам благодарен за написание данной программы, но наверное мне нада более простым способом (В пример можно взять мой код)
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
04.04.2014, 13:34     Как доделать строки #6
Цитата Сообщение от newbie666 Посмотреть сообщение
#include <tchar.h>
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
* * const size_t maxInputLenght = 4096;
* * char *line = new char[maxInputLenght];
* * std::cin.getline(line, maxInputLenght);
* * std::stringstream ss(line);
* * delete[] line;
* * std::vector<std::string> words;
* * while (!ss.eof())
* * {
* * * * std::string tmp;
* * * * ss >> tmp;
* * * * words.push_back(tmp);
* * }
* * for(auto it = words.begin(); it != words.end(); it++)
* * * * *it += '.';
* * for(auto it = words.begin(); it != words.end(); it++)
* * * * std::cout << *it << std::endl;
return 0;
}
Опяьт же напишет слово на каждой строке и поставит после него точку. Автор просит же:
Цитата Сообщение от evgen1994 Посмотреть сообщение
Hello world => Hello. world.
Этот код так работать не будет, без компиляции видно. Если ты собрался вместо endl прописать пробел, то будет работать неправильно, если в строке больше одного пробела. Или, например, если стоит знак после слова, точка поставится после знака, а не после слова.
Yandex
Объявления
04.04.2014, 13:34     Как доделать строки
Ответ Создать тему
Опции темы

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