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

сортировка - C++

Восстановить пароль Регистрация
 
vac9
1 / 1 / 0
Регистрация: 03.03.2011
Сообщений: 96
13.12.2011, 17:04     сортировка #1
Помоги доделать программу , сортировать слова по алфавиту , радиксным(распределяющим) методом
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
string radix(string str[], int max, int k){
       string s1[k];
       int i,e,v,q=0;
       e=0;
       string s2="";
       
 
       if(k==1) {
                s2+=str[k-1];
                return s2;
                }
     for( ; max=>0; ){           
       for(v=97; v<123; ++v){
                 
                 if(e>max) break;
                 
                 for(i=0; i<k; ++i){
                          
                          if(max==0){ 
                          
                                     for(i; i<k; ++i) s2+=str[i]+" ";
                                     return s2;
                                     
                                     }
                          
                         if( str[i].at(max-1)==v ) {
                             
                             
                                               s1[q]=str[i]; 
                                               ++q;
                                               }
                         
                          }
                          if(q){
                                s2+=radix(s1, max-1, q)+" ";
 
                                q=0;
                                ++e;
                                }
                                --max;
                         }
                                   
            
       }
       
 
       return s2;
       
       }
      
string sorting(string str){
         int k=0;
         int i,n,j;
int max=0;//номер проверяемой позиции в слове
         for( i=0; i<str.length(); ++i) if(str[i]==' ') ++k;
         string words[k+1]; 
         k=0;
         int word_begin=0,word_end=0;
 
         for ( i=0; i<str.length(); ++i){
         if(str[i]==' ') {
                  word_end=i;
                  for(int j=word_begin; j<word_end; j++) words[k]+=str[j];
                  ++k;
                  word_begin=word_end+1;
                         }
         if(i==str.length()-1) {
                  word_end=i;
                  for(int j=word_begin; j<=word_end; j++) words[k]+=str[j];
                  ++k;
                  word_begin=word_end+1;
                               }
                     
                                      }
         for(i=0; i<k; ++i){
         cout<<"!"<<words[i]<<"!"<<endl;
                           }
         for(i=0; i<k; ++i){
           n=words[i].length();
           if(n>max) {
                     max=n;
                     j=i;
                     }
           }
         
            str=radix(words, max, k);
          
 
     
 
           return str;
}
 
int main()
{
  string str="aaaaeegaa aaasfsaa sjkghksdgh jioirut";
  str=sorting(str);
  
  cout<<str<<endl;
  system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 17:04     сортировка
Посмотрите здесь:

C++ сортировка
C++ Сортировка.
C++ сортировка
C++ сортировка
Сортировка C++
C++ Сортировка
Сортировка С++ C++
Сортировка C++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru