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

строки, массивы символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ классы, строки, указатели http://www.cyberforum.ru/cpp-beginners/thread108448.html
С++ только начал изучать, раньше учил Си - вроде все понятно было, но вот с новшествами данного языка как раз и возникли проблемы. Попытаюсь объяснить суть: 1) Составить класс, который будет...
C++ Найти количество элементов, наиболее часто встречающихся в массиве Найти кол-во элементов наиболее частых встречающихся в массиве. например массив: 123000 023400 023450 003456 0-не считается. очевидно тут 3. но как это найти? Найти надо не кол-во, а... http://www.cyberforum.ru/cpp-beginners/thread108434.html
Текстовый редактор от Захарова C++
Так, от нечего делать захотелось создать свой текстовый редактор. Придумал даже код, но гдето есть две ошибки, так компилятор говорит. #include <iostream.h> #include <fstream.h> int main(void) {...
Вычислить формулу C++
Помогите пожалуйста с этой задачкой...Не знаю как тут вообще вычислить эту формулу...Нам лекций по С++ не дают, а я искал и ничего не нашел...Вот условие: Вычислить сумму ряда по приведенным в...
C++ Что такое матричный знакогенератор и как его написать http://www.cyberforum.ru/cpp-beginners/thread108420.html
необходимо написать Матричный знакогенератор.Что это такое? на языке С++
C++ Нужно ли уничтожать экземпляр класса Vector? Здравствуйте. В своей программе в функции использую класс vector (и даже vector <vector < >> =) ). Программа работает через раз, иногда вылетая по сигналу 11. Функцию (в которой и сидит этот... подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
25.03.2010, 14:17
Вашу задачу, наверное, проще сделать через указатели и функции:
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
28
29
30
31
32
33
34
35
36
37
38
39
void form (char *a,char *out, char *out2)
{   
    char *first=a; int flag=1;
    *out='\0';
    *out2='\0';
 
    while (*(first=probel1(a)))//пока не конец строки first=начало 1-го слова
    {
        a=probel2(first);//а=конец первого слова
        
        if (flag=!flag) //если значение flag меняется 
            out2=copyword(first, out2,a-first);//это второе слово
        else 
            out=copyword(first, out,a-first);
    }   
}
//пропускает пробелы: если символ пробел указатель продвигается на 1 вперед
char *probel1(char *in)
{ 
    while (*in&&((*in==' ')||(*in=='\t')))
        in++;
    return in;
}
//пропускает символы: если символ не пробел указатель продвигается на 1 вперед
char *probel2 (char *in)
{
    while (*in&&*in!=' '&&*in!='\t')
        in++;
return in;
}
//копирование от одного указателя до другого в строку
char *copyword (char * from, char *to, int len)
{
    for (int j=0; (j<len)&&(*to++=*from++); j++)
        ;
    *to++=' ';
    *to='\0';
    return to;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru