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

Сжать строку, заменяя несколько подряд стоящих пробелов одним - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ работа с файоами таблицами и со списками http://www.cyberforum.ru/cpp-beginners/thread41275.html
нужно вместо этой строчки strcpy(table_reis.viezd_data->data_viezda,tmp); написать код для того чтобы была не таблица а односвязный список.. причем каждому table_reis должен соответсвовать...
C++ Вычисление корня нелинейного уравнения методом Золотого сечения. Всем вечер добрый, нужен алгоритм поиска корня нелинейного уравнения методом Золотого сечения. Никто с подобным не сталкивался? У самого ничего не получается, уже незнаю чего "нашаманить" такого что... http://www.cyberforum.ru/cpp-beginners/thread41245.html
C++ Пишем свой интерпретатор языка BASIC
***************** Благодаря форуму и Evg в частности интерпретатор развивается, потихоньку превращаясь в простенький интерпретатор QBASIC. Некоторые из самых старых версий сохранились в теме и...
C++ Меню и список
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились:...
C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp http://www.cyberforum.ru/cpp-beginners/thread41186.html
#include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() {
C++ Массивы строк Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве? подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.06.2009, 09:25
4. Сжать строку, заменяя несколько подряд стоящих пробелов одним. Стандартными функциями не пользоваться.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* SqueezeCharLine:  удаляет из l повторы символа ch
                     возвращает количество удалённых */
int SqueezeCharLine(char *l, int ch)
{
    char *p, *q;
        
    if (l == NULL)
        return EOF;
    for (p = q = l; (*p = *q) != '\0'; p++, q++)
        if (*p == ch)
            while (*(q+1) == ch)
                q++;
    return q-p;            
}
Добавлено через 21 минуту 37 секунд
6. Определить присутствуют ли в строке все символы другой строки. Не обязательно в том же самом порядке.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string.h>
 
/* CheckCharsLine:  проверяет состоит ли l
                    только из символов patt */
int CheckCharsLine(const char *l, const char *patt)
{
    char *p;
    
    for (p = (char *) patt;
         *p && strchr(l, *p);
         p++)
        ;
    return !*p && *l && *patt;
}
Добавлено через 18 минут 48 секунд
5. Определить есть ли в строке хотя бы один символ из другой строки.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string.h>
 
/* CheckCharLine:  проверяет есть ли в l символ из patt */
int CheckCharLine(const char *l, const char *patt)
{
    return !!strpbrk(l, patt);
}
 
/* CheckCharLine:  проверяет есть ли в l символ из patt */
int CheckCharLine(const char *l, const char *patt)
{
    char *p;
    
    for (p = (char *) patt;
         *p && !strchr(l, *p);
         p++)
        ;
    return !!*p;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru