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

Удалить в строке лишние пробелы, оставив между словами ровно по одному - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю http://www.cyberforum.ru/cpp-beginners/thread1314328.html
Дан вещественный массив а(n).Вычислить сумму модулей элементов массива,расположенных после первого элемента,равного нулю. Если таких элементов в последовательности нет,вывести соответствующее сообщение.
C++ Башни в Ханое, кое-что не ясно В темах про ханойсие башни тишина, видимо все давно всё поняли, как всегда кроме меня. Механизм решения, в принципе, ясен, остался 1 маленький вопрос #include <iostream> using namespace std; void han (int n, int A, int B){ int C=6-(A+B); if (n>1){ han (n-1, A, C); han (1, A, B ); http://www.cyberforum.ru/cpp-beginners/thread1314320.html
В матрице AxB переместить столбцы между собой C++
в матрице AxB переместить столбцы между собой местами так, чтобы они следовали в таком порядке: n, 1, n-1, 2, ... помоги пожалуйста решить в С++
C++ Суммирование элементов одномерного массива
всем привет,теперь имея доступ к каждой цифре какого нибудь десятичного числа,я возвел ее в третью степень. например число 153; 1^3 = 3; 5^3 = 125; 3^3 = 27; и после возведения в степень эти числа у меня записаны в одномерном массиве и теперь мне нужно сделать суммирование одномерного массива,то бишь 3+125+27 = 153,в чем собственно у меня проблема,в конце сумма у меня = 0,не знаю в чем...
C++ Вывести подстроку между двумя точками http://www.cyberforum.ru/cpp-beginners/thread1314284.html
ЗАДАЧА: На вход дана строка (заканчивается символом 13), содержащая РОВНО 2 точки. Вывести строку между ними. Вот мой говн*код: #include <iostream> #include <cstring> #include <string> #include <cstdio> using namespace std; int main()
C++ Такая вот задачка Участки нумеруются, начиная от города A до города B. Мотоцикл i-ый участок проезжает за время ai, машина – за время bi (1 <= ai, bi <= 1000; ai, bi – целые). Одновременно мотоцикл и машина начинают движение: мотоцикл из города A в город B, машина из города B в город A. Требуется найти время, через которое мотоцикл и машина встретятся. Нужна подсказка, не могу понять какую формулу можно... подробнее

Показать сообщение отдельно
Яродан
0 / 0 / 0
Регистрация: 25.12.2013
Сообщений: 12
29.11.2014, 17:56     Удалить в строке лишние пробелы, оставив между словами ровно по одному
Дана строка состоящая из слов, между которыми есть некое количество пробелов.
Требуется удалить лишние пробелы, оставив между словами ровно по одному.
Если в начале или в конце строки имеются пробелы, то точно так же нужно оставить лишь один из них.
Иными словами если пробелы повторяются 2 и более раз подряд, нужно убрать все кроме одного.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    char g[1000];
    gets(g);
    int i=1,k=0;
    for(;g[i];i++)
     if(g[i]==' ' && g[i-1]==' ');
     else  g[k++]=g[i-1];
    g[++k]=0;
    printf("%s",g);
    return 0;
}
Что у меня не так? При загрузке на сервер пишет Wrong Answer при первом тесте.

Добавлено через 50 минут
Решил обмануть сервер:
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 <conio.h>
#include <cstring>
 
using namespace std;
 
int main()
{
    char b = 0;
    char k;
    char h[1000];
    int i = 0;
    while (k!=char(13))
    {
    k = getch();
    if ((k==b && b!=' ') || (k!=b)){
    cout << k;
    h[i]=k;
    i++;
    }
    b=k;
    }
    cout << "\n" <<h;
}
Тобишь в этой версии программы, ввести 2 пробела подряд невозможно. А так как строка это введенное, то все по идее хорошо... ОДНАКО мне пришло: "Idleness Limit Exceeded, TestN=1"
Я так понимаю, что проблема в команде getchar(), которая реагирует на нажатие клавиши...
Что нужно поправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru