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

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

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

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

05.12.2013, 18:29. Просмотров 255. Ответов 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];
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2013, 18:29     Вывести введенные слова группами
Посмотрите здесь:

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

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

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

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

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

Вывод слов группами - C++
Есть прога, вводишь в нее текст и она выводит слова, где есть 2 повтор. 2 раза буквы (abba, dcdс) и только они. Не пойму, как изменить...

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

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

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

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

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

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

Посчитать количество денег, которые нужно заплатить за цветы, продающиеся группами с разной стоимостью - C++
Когда Мальвине исполнилось К лет,она пригласила друзей на свой день рождения.Буратино не долго думая попер в магаз где продают цветы чтобы...

Вывести слова (важно) - C++
1. Вывести только те слова сообщения, которые содержат не более чем n букв.

Вывести слова по возрастанию - C++
Я сначала ввожу неограниченное число строк, указываю, что &quot;пробел&quot; - разделителей. Потом мне нужно в строках отсортировать слова по...

Вывести слова строки - C++
Нужно вывести слова из строки #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ ...


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

Или воспользуйтесь поиском по форуму:
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
06.12.2013, 13:00     Вывести введенные слова группами #7
skype el_gato_de_cheshire напиши мне туда,
Yandex
Объявления
06.12.2013, 13:00     Вывести введенные слова группами
Ответ Создать тему
Опции темы

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