Списки(сортировка цепочек).
От: MaxnuLL  
Дата: 18.05.05 11:32
Оценка:
Привет всем!! Помогите сделать задачку на списки.

Задача:
Из входного потока читаются цепочки неопределённой длины. Известно, что максимальная длина <=255. Разделителями между цепочками являются один или несколько пробельных символов. Программа должна включить каждую в таблицу указателей на цепочки в алфавитном порядке первых 6-ти символов цепочки.

1. Надо каждое слово и идущие за ним символы (цепочка) выделить, а всё что перед словом удалить, так сделать с каждым словом.
2. Полученные цепочки отсортировать!!

Пример программы:
Введите строку: video play music audio bass
Результат:
audio bass
bass
music audio bass
play music audio bass
video play music audio bass

Пожалуйста помогите, очень надо...

Через указатели есть надо через списки или через классы!!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int compar(const void * a, const void *b){
        return strncmp(*(char**) a, *(char**)b, 6);
}
int main(void){
        char s[256]={0}, *p=s;
        char * words[256];
        int w_c=0, inword=0, i;
        fgets(s, 256, stdin);
        while(*p){
                if(' ' == *p)
                  inword=0;
                else
                  if(0==inword){
                        words[w_c++]=p;
                        inword=1;
                  }
                p++;
        }
       qsort(words, w_c, sizeof(char*), *compar);
       for(i=0;i<w_c;i++) printf("%s\n", words[i]);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.