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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
karandashbest
2 / 2 / 0
Регистрация: 17.05.2013
Сообщений: 686
#1

Вывести введенные слова группами - C++

05.12.2013, 18:29. Просмотров 259. Ответов 6
Метки нет (Все метки)

По одному ввести последовательность слов. Распечатать введенные слова группами, каждая из которых должна состоять из тех введенных слов, три первые буквы которых совпадают. помогите сделать, это консольное приложение

Добавлено через 11 минут
Вот код, но тут полная жопа
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
103
104
105
106
107
108
109
110
111
112
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char s[5][7];
for ( int i =0; i < 5; i++ )
{   cout<<endl;
   printf ("Vvedenj cliv: %d \n", i );
   scanf ( "%s", s[i]);
   if(s[i][0]=='t'){
                    cout<<"Finish"<<endl;
                    break;
                    }
  }
  char s1[5][7];
  int prod=0; // флаг нового масива присвоэння
 
int brk=0;
  int temp[6];
  int tempP[30];
  int t=0,e; 
 
  for(int f=0;f<5;f++){ //перше слово звыряэмо з кожним 
                       // .. енне слово звыряэмо з кожним 
                         // тыльки не з тим самим
                           e=0;
               for(int as=0;as<3;as++){          
               if(s[f][as]=='r'){  
                             e++;
                       } 
                if(e==3) {
                          f++;
                         
                         break;
                         }      
                       } 
    if(e==3){
          
            
             break;
             }                     
        
         temp[brk]=222;  // кінець якого визначається значенням 222
  for(int a=0;a<5;a++){
      t=0;  
     
/////////////////////////////////////////////////////  
         for(int q=0;q<3;q++){
              if(s[f][q]==s[a][q]){  
                              t++;
                       }
                                   
                if(t==3){
                         t=0;
                 temp[brk]=a;
                 brk++;
                 temp[brk]=222;//підсовуєм кінець на один
                       } 
                       
          }
////////////////////////////////////////////////////        
       
         }
         for(int vuved=0;;vuved++){   // виводим індекс споріднених слів
                 if(temp[vuved]==222){
                                      break;
                                      }
                 cout<<temp[vuved];
                 }
         for( int vuveD=0; ;vuveD++){// переприсвоюєм ці слова у новий масив
               if(temp[vuveD]==222){
                                    break;
                                   }
         cout<<endl<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;                          
               int b =0;
               do{
                    s1[prod][b] =s[temp[vuveD]][b] ;  
                    s[temp[vuveD]][b]='r';
                        b++;  
                                    }while(b<7);
                          for(int vud=0;vud<5;vud++){
                
                 cout<<s[vud]<<"  "<<endl;
                 }             
     
                  for(int y=0;y<7;y++){
                  cout<<temp[y]<<"  ";
                  
                  } 
                  cout<<endl;     
         prod++; 
         temp[vuveD]=222; 
                } 
         
    brk=0;     //флаг тимчасового масиву з індексами споріднених слів
cout<<endl<<"==============================================================="<<endl;
 
       }
  cout<<endl<<endl;
 
          for(int vud=0;vud<5;vud++){
                
                 cout<<s1[vud]<<"  "<<endl;
                 } 
         for(int vud=0;vud<5;vud++){
                
                 cout<<s[vud]<<"  "<<endl;
                 } 
        
        
        getch();
    }
Добавлено через 1 минуту
вот я делаю два массива. в один закидаю слова а в другой вписываю их по группам, чтобы цикл не проходил по тем же словам первого массива я с той строки где заберу слово вписываю "rrrrrrrr ..." но эта программа не со всеми вариациями работает ... я уже четыре дня сижу (((((и не могу найти ошибку.
в этой что я делал можно ввадиты только слова где не более 7 букв. Я просто не знал как делать чтобы до конца массива именно искало.

Добавлено через 5 минут
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main(){
char s[5][200];
for ( int i =0; i < 5; i++ )
{   cout<<endl;
   printf ("Vvedenj cliv: %d \n", i );
   
   scanf ( "%s", s[i]);
   if(s[i][0]=='t'){
                    cout<<"Finish"<<endl;
                    break;
                    }
  }
  int prusvoe=0;
  
int brk=0;
  int temp[6];
  int tempP[30];
  
  int NOV=222,hu=0;
  int t=0;
   tempP[prusvoe]=222;
   int rt=0;
  for(int f=0;f<5;f++){ //перше слово звыряэмо з кожним 
   ///   NOV==222;                 // .. енне слово звыряэмо з кожним 
                         // тыльки не з тим самим
                   
        brk=0;
         temp[brk]=222;
         
    /*    
     for(int dg=rt;;dg++){
     if(tempP[dg]==222){
                       break;
                       }    
          NOV=tempP[dg];             
      if(f==NOV){ 
                  rt=NOV;           це закометив частинку
 
                  NOV==222;        яка відповідає за не проходження рядків які є у масиві темпП.
                 break;
                 
                 }
                 }
  if(f==NOV){     
                hu=NOV;
                 
                 break;
                 }
         */
  for(int a=0;a<5;a++){
                
      t=0;
     
    
/////////////////////////////////////////////////////  
         for(int q=0;q<3;q++){
           
               
      //   if(f!=a)   { //щоб не звіряло з тим самими словом в масиві
           
         
              if(s[f][q]==s[a][q]){  
                              t++;
                       }
                                   
                if(t==3){
                 temp[brk]=a;
                 brk++;
                 temp[brk]=222;
                       } 
                       
     //    }
   
          }
         
////////////////////////////////////////////////////        
       
         }
         for(int vuved=0;;vuved++){
                 if(temp[vuved]==222){
                                      break;
                                      }
                 cout<<temp[vuved];
                 }
                 
                 
                 
         for(int vuveD=0;;vuveD++){
                if(temp[vuveD]==222){
                                     break;
                                     }
                cout<<s[temp[vuveD]]<<endl;
                
                } 
              
              
              
                 int qwer=0;
         for( ; ;prusvoe++){
                 tempP[prusvoe]=222;
                 if(temp[qwer]==222){
                                       // prusvoe--;
                                        break;
                                        }
                 tempP[prusvoe]=temp[qwer];
                 temp[qwer]=222;
                 qwer++;
                 
                 } 
                 qwer=0;     
cout<<endl<<"==============================================================="<<endl;
 
       }
  cout<<endl<<endl;
 
for(int df=0;;df++){
        if(tempP[df]==222){
                          break;
                          }
        cout<<tempP[df];
        
        }
        
        
        
        
        getch();
    }
Вот еще так пробувал
еще вот пробовал так вот. все что хотел сделать - работает. Но не знаю как наложить условие чтобы не сверяли с номерами срок которые я поместил в массив int tempP [30];
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2013, 18:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести введенные слова группами (C++):

В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца. - C++
В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.

switch (Программа должна переводить введенные цифры в слова) - C++
Программа должна переводить введенные цифры в слова. проблема: в каждом switch выполняются только default . #include &lt;iostream&gt; ...

Вывести введенные числа по возрастанию - C++
Здравствуйте помогите написать програму чтобы выводила 5 введеных чисел по возрастанию

Вывести введенные имя и адрес - C++
Полный ноль в программировании. Но нужно сделать программу которая запрашивает ваше имя и адрес( город, улица, дом, квартира). потом...

Вывести все введенные строки. Отсортировать строки. Вывести самую длинную строку - C++
Здравствуйте!!! Помогите пожалуйста, не могу разобраться с программой. Ввести с клавиатуры строки, пока не будет введено 5 строк, которые...

как вывести на экран только что введенные числа? - C++
здравствуйте. извините за глупый вопрос, но у меня не получается вывести на экран только что введенные числа в одну строчку через точку ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
06.12.2013, 08:46 #2
Это какой курс ? очень тяжелая задача
0
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
06.12.2013, 09:41 #3
какие требования к быстродействию ? какой максимальный размер входных параметров ?? сколько слов ? длина ?

если набор будет состоять максимум из 30 слов. или около того, я бы сделал так
1. отсортировал
2. пройдясь 1 раз по сортированному массиву вывел бы группами
0
karandashbest
2 / 2 / 0
Регистрация: 17.05.2013
Сообщений: 686
06.12.2013, 11:24  [ТС] #4
Цитата Сообщение от el_gato_de_Ch Посмотреть сообщение
какие требования к быстродействию ? какой максимальный размер входных параметров ?? сколько слов ? длина ?

если набор будет состоять максимум из 30 слов. или около того, я бы сделал так
1. отсортировал
2. пройдясь 1 раз по сортированному массиву вывел бы группами
В задачи не написано, а можете сделать так как вам удобней ? просто очень надо

Добавлено через 50 минут
кто то поможет (((((

Добавлено через 8 минут
Цитата Сообщение от el_gato_de_Ch Посмотреть сообщение
какие требования к быстродействию ? какой максимальный размер входных параметров ?? сколько слов ? длина ?

если набор будет состоять максимум из 30 слов. или около того, я бы сделал так
1. отсортировал
2. пройдясь 1 раз по сортированному массиву вывел бы группами
ну как поможешь ?
0
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
06.12.2013, 11:42 #5
karandashbest, сейчас не смогу, часика через 4 думаю, что смогу
1
karandashbest
2 / 2 / 0
Регистрация: 17.05.2013
Сообщений: 686
06.12.2013, 11:48  [ТС] #6
Цитата Сообщение от el_gato_de_Ch Посмотреть сообщение
karandashbest, сейчас не смогу, часика через 4 думаю, что смогу
окей подойдет, тогда через часика 4 задуй, прост очень надо . спасибо что откликнулись
0
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
06.12.2013, 13:00 #7
skype el_gato_de_cheshire напиши мне туда,
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 13:00
Привет! Вот еще темы с ответами:

Проверить введенные данные, и если они некорректны - вывести сообщение - C++
Здравствуйте. Я пытаюсь добавить в свою лабораторную работу проверку введенных данных, и если это не цифры, а буквы, либо символы - то...

Используя стек вывести числа введенные пользователем в обратном порядке элемент стека – число - C++
помогите плиз решить ..Используя стек вывести числа введенные пользователем в обратном порядке элемент стека – число; числа введенные...

Вывести слова в строке ДО слова, у которого одинаковые первая и последняя буквы - C++
С клавиатуры вводится строка, надо вывести все слова до слова, у которого одинаковые первая и последняя буквы. Проблема в том, что я не...

Вывести слова данного предложения, которые отличны от последнего слова - C++
Разработать алгоритм и составить программу на языке Си. Предполагается, что длина вводимого текста ограничена константой. Длины слов...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2013, 13:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru