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

Строки. нужен код для соритровки символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ файлы http://www.cyberforum.ru/cpp-beginners/thread388554.html
Разработать алгоритм и составить программу для решения : Напишите программу, которая составляет частотный словарь заданного текста, пропуская при этом символы - разделители. Словом будем считать...
C++ Виды наследования С++ Построить класс статистическая выборка числовых величин со свойствами: количество элементов выборки, массив элементов выборки и методами: рассчитать дисперсию выборки; определить количество элементов... http://www.cyberforum.ru/cpp-beginners/thread388551.html
C++ Начало пути
Всем привет! :) Решил изучать и писать на языке C++. Есть не большой опыт программирования(Pascal,Dephi). Сразу возникло куча вопросов: 1.В какой среде нужно начинать писать новичку?...
C++ Ряды Тейлора. Поможите?
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач. до xкон. с шагом dx и с точностью e. Каждая строка таблицы должна содержать...
C++ найти все слова содержащие максимальное количество гласных букв http://www.cyberforum.ru/cpp-beginners/thread388511.html
#include <stdio.h> #include <string.h> #define GLAS_LETT "AaEeIiOoUuYy" #define DELIM " ,.:;!?" int get_cnt_lett_of_glass(const char *wrd){ int cnt = 0, i, j; for(i = 0; i <...
C++ Win32 Mfc отличия не могу никак переделать из Win32 в MFC собственно в Win32 stdafx.h #include "../NativeToCLRWrapperLibrary/SomeClass.h" #pragma comment(lib, "NativeToCLRWrapperLibrary.lib") при... подробнее

Показать сообщение отдельно
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
21.11.2011, 17:19
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <string.h>
 
#define DELIM  " .,:;!?\n\t"
#define MAXLINE  1000
#define MAXWORDS  100
 
void extract_words(char *s, char **w, int nw, char *delim)
{
    for (*w = strtok(s, delim);
        *w++ != NULL && --nw > 0;
        *w = strtok(NULL, delim))
        ;
}
 
int mystrcmp(char *s, char *t)
{
    for ( ; *s && *s == *t; s++, t++)
        ;
    return (*s == '\0' && *t == '\0') ? 0 : *s - *t;
}
 
char *merge_words(char *s, char **w1, char **w2,
    int (*cmp)(char *, char *))
{
    char **p;
 
    *s = '\0';
    while (*w1 != NULL && *w2 != NULL) {
        if (cmp(*w1, *w2) < 0)
            strcat(s, *w1++);
        else 
            strcat(s, *w2++);
        strcat(s, " ");
    }
    for (p = (*w1 == NULL) ? w2 : w1; *p != NULL; p++) {
        strcat(s, *p);
        strcat(s, " ");
    }
    return s;
}
 
int main()
{
    char str1[MAXLINE], str2[MAXLINE];
    char *words1[MAXWORDS], *words2[MAXWORDS];
    char s[MAXLINE + MAXLINE];
    
    while (printf("\nenter a first line:\n") > 0 
        && fgets(str1, MAXLINE, stdin) && *str1 != '\n'
        && printf("\nenter a second line:\n") > 0 
        && fgets(str2, MAXLINE, stdin) && *str2 != '\n') {
 
            extract_words(str1, words1, MAXWORDS, DELIM);
            extract_words(str2, words2, MAXWORDS, DELIM);
 
            printf("\nresult:\n%s\n",
                                merge_words(s, words1, words2, mystrcmp));
    }
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru