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

Строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Про раскраску граней у кубика. http://www.cyberforum.ru/cpp-beginners/thread62512.html
Доброго времени суток! Я не еще мало чего смыслю в программировании,не могли бы вы помочь мне с одной задачей. В принципе примерно представляю как ее написать,но когда берусь за нее,ничего не выходит. вот текст задачи: Кубик Рубика имеет 6 граней,каждая из них окрашена в определенный цвет и состоит из 9 квадратиков(по 3 в ряд).Для определенности положим,что передняя грань изначально имеет...
C++ Удаление слов из строки в С Здравствуйте!!! Помогите справиться с задачей, хоть она уже встречалась, но мне необходимо еще доделать, а как, я не понимаю. Задание: Дана строка, содержащая последовательность слов, разделенных пробелами. Удалить из строки все слова, в которых есть заданная буква. Вот похожая тема: http://www.cyberforum.ru/cpp-beginners/thread52951.html. Здесь всё работает правильно, но необходимо, чтоб из... http://www.cyberforum.ru/cpp-beginners/thread62511.html
Представление числа в разном формате C++
как можно представить числа, например 2, в формате 2.0 или 2.00, нужна для предсталения числа в виде таблицы
C++ Функции. Язык C.
Найти минимум функции х (в квадрате) - sinх методом золотого сечения! f(x)= x^2-sin(x)
C++ Выкинуть нули http://www.cyberforum.ru/cpp-beginners/thread62486.html
#include<iostream.h> #include<conio.h> #include<stdlib.h> void main() { int n,k,x,i; cout<<"Koli4estvo elementov v masive: "; cin>>n; for (k=0; k<n; k++) {x=-10+random(21); cout<<x<<" \t";} for (k=0; k<n; k++)
C++ Шаблон класса для блочной сортировки Есть задание реализовать шаблон класса, содержащий разные методы сортировок. Тип сортируемых элементов передаётся как параметр. В общем-то, всё получается, кроме блочной сортровки (http://ru.wikipedia.org/wiki/Блочная_сортировка). Насколько я понял, для неё вообще не получится реализовать шаблон по причине того, что "Данный алгоритм требует знаний о природе сортируемых данных, выходящих за рамки... подробнее

Показать сообщение отдельно
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.11.2009, 03:02     Строки
C
1
2
3
4
5
6
7
8
9
10
11
12
13
/* ReverseLine:  обращает строку l */
void ReverseLine(char *l)
{
    char *end;
    int c;
    
    if (!l || !*l)
        return;
    for (end = l; *end != '\0'; end++)
        ;
    for (end--; l < end; l++, end--)
        c = *l, *l = *end, *end = c;
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <ctype.h>
 
/* ToUpperLine:  приводит буквы строки l к верхнему регистру */
void ToUpperLine(char *l)
{
    if (!l)
        return;
    while (*l = toupper(*l))
        l++;
}
 
/* ToLowerLine:  приводит буквы строки l к нижнему регистру */
void ToLowerLine(char *l)
{
    if (!l)
        return;
    while (*l = tolower(*l))
        l++;
}
слова нужно занести в массив слов, дублируешь строку и используешь strtok для нарезки, указатель на каждое следующее слово сохраняется в массиве указателей
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* DuplicateLine:  создаёт копию строки l в памяти */
char *DuplicateLine(const char *l)
{
    char *p;
    
    if ((p = malloc(strlen(l)+1)) != NULL);
        strcpy(p, l);
    return p;
}
 
/* FreeLine:  высвобождает строку l из памяти */
void FreeLine(const char *l)
{
    free((void *) l);
}
вообще задания на ctype.h
isdigit(), isalnum(), isalpha()

найти сумму все чисел, содержащихся в строке
можно юзать strtol с указателем на конец (когда она число прочитывает, само число возвращается функцией (то есть его уже можно прибавлять), а указатель, адрес которого передавался в strtol, устанавливается на символ после этого числа (или на нуль-символ, если там конец строки) - удобно)
можно, конечно, и через sscanf в цикле с промоткой вроде sscanf("%*[a-zA-Z]%ld", &x), но при смене строки с буквенно-цифровой на ещё что-нибудь, sscanf отпадёт, а strtol останется
 
Текущее время: 21:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru