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

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

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

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

15.12.2013, 20:52. Просмотров 259. Ответов 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();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 20:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как доделать строки (C++):

Доделать код чтобы он искал произведение элементов строки в которой находится максимальный елемент - C++
Как найти произведение элементов строки в которой находится максимальный элемент? #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Как доделать калькулятор на С/С++ ? - C++
Помогите пожалуйста в калькулятором. У меня есть уже скобки и возведение в степень. Мня нужно добавить ещё косинусы, синусы, квадратный...

Не понимаю как доделать программу - C++
Требования: нужно,организовать массив из тех чисел, которые входят в последовательность более одного раза. Вот я создал 2 массива,...

Подскажите как доделать прогу - C++
Доброго времени суток) Помогите довести до ума программу, чтобы она работала в рамках одной проги 1) Находила наибольшую нечетную цифру....

подскажите как доделать программу - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; using namespace std ; main() { int i=0,j=0; string...

Объясните как доделать программу - C++
Вывести элементы последовательности целых чисел от 1 до 1000 сумма цифр в которых больше заданного значения. Фрагмент кода который удалось...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ev_Hyper
Заблокирован
15.12.2013, 20:58 #2
А вы не забыли условие в for заключить в {}?
0
evgen1994
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 13
15.12.2013, 21:01  [ТС] #3
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
А вы не забыли условие в for заключить в {}?
Возможно, но особой роли думаю, это не сыграет
0
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;
}
1
evgen1994
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 13
15.12.2013, 21:27  [ТС] #5
newbie666, я конечно вам благодарен за написание данной программы, но наверное мне нада более простым способом (В пример можно взять мой код)
0
Vourhey
Почетный модератор
6481 / 2256 / 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 прописать пробел, то будет работать неправильно, если в строке больше одного пробела. Или, например, если стоит знак после слова, точка поставится после знака, а не после слова.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2014, 13:34
Привет! Вот еще темы с ответами:

Застрял.Подскажите как доделать. - C++
Напишите программу на &quot;родном&quot; С++, которая позволит ввести неограниченное количество значений и сохранить их в массив, размещенный в...

Как доделать длинную целочисленную арифметику? - C++
Операторы: сравнения присваивания, сложения, вычитания, левого и правого сдвига, деления, остатка, умножения, приведения к обычному целому,...

генератор псевдослучайных чисел незнаю как доделать... - C++
воть он: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #define RAND_MAX 32767 unsigned long next = 1 ; int rand(void) { ...

Как дальше доделать? Посмотрите. Почему она не работает? - C++
Определить, есть ли в данном массиве строка, состоящая только из отрицательных элементов. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.04.2014, 13:34
Ответ Создать тему
Опции темы

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