6 / 6 / 2
Регистрация: 15.04.2010
Сообщений: 151
1

Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова

20.09.2010, 19:51. Показов 3343. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот исходный код:
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 <fstream>
#include <iostream>
//#include<clocale>
using namespace std;
 
int main()
{
        //setlocale(LC_ALL, "rus");
        char m [500];
int n;
      ifstream in("input.txt");
      char t;
        
       if(in.is_open()==false)
      {
            cout << "file open error!";
            return 1;
      }
 int i=0, nach1=0, nach2=0, cc=0;
 int j=0, kon1=0, kon2=0;
 char c[40];
 char f[20];
 
 
      while(in.get(t))
      {
            m[i]=t; cout<<t;
                        i++;n=i;
                                         if (t==' ' || t=='\n') cc++;
                                                
                        
              }
          cout<<endl;
          
          for (int c1=0 ;c1<cc/2; c1++){
 
          for(i=nach1; i<=n; i++){
                  if (m[i]=='\n') {kon1=i-1; break;}
                        if(m[i]!=' ') c[i-nach1]=m[i];
                        else {kon1=i-1; break;}}
nach2=i+1;                              
 
for(j=nach2; j<=n; j++){
        if (m[j]=='\n') {kon2=j-1; break;}
        if (m[j]!=' ') f[j-nach2]=m[j];
        else {kon2=j-1; break;}}
           
for (int i=0; i<= (kon2-nach2); i++)
                  cout<<f[i];
                                        cout<<m[kon1+1];
for (int i=0; i<= (kon1-nach1); i++)
                  cout<<c[i];
                                        cout<<m[kon2+1];
                                        nach1=j+1;}
          if((cc%2)!=0) {for (int i=kon2+2; i<n; i++) cout<<m[i];}
 
 
              
     
cin.get();
 return 0;}

кто может переделайте так что бы в main() был только ввод,вывод и чтение с файла а все остальное
в другой функции

вот задание что прога должна делать:
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.

Заранье Благодарю!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2010, 19:51
Ответы с готовыми решениями:

Написать программу,которая считывает текст из файла и выводит его на экран,меняя местами каждые два соседних слова.
Написать программу,которая считывает текст из файла и выводит его на экран,меняя местами каждые два...

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

Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые...

Написать программу, которая считывает текст из файла и выводит его на экран, меняя каждые два соседних слова.
Помогите дописать программу на Си.Написать программу, которая считывает текст из файла и выводит...

2
182 / 183 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
21.09.2010, 14:02 2

Не по теме:

Что-то подобное надо было?



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
#include <fstream>
#include <iostream>
//#include<clocale>
using namespace std;
 
 
 char m [500];
 int i=0, nach1=0, nach2=0, cc=0;
 int j=0, kon1=0, kon2=0;
 char c[40];
 char f[20];
 int n;
 char t;
   
   void output(char t)
   {
          for (int c1=0 ;c1<cc/2; c1++){
 
          for(i=nach1; i<=n; i++){
                  if (m[i]=='\n') {kon1=i-1; break;}
                        if(m[i]!=' ') c[i-nach1]=m[i];
                        else {kon1=i-1; break;}}
nach2=i+1;                              
 
for(j=nach2; j<=n; j++){
        if (m[j]=='\n') {kon2=j-1; break;}
        if (m[j]!=' ') f[j-nach2]=m[j];
        else {kon2=j-1; break;}}
           
for (int i=0; i<= (kon2-nach2); i++)
                  cout<<f[i];
                                        cout<<m[kon1+1];
for (int i=0; i<= (kon1-nach1); i++)
                  cout<<c[i];
                                        cout<<m[kon2+1];
                                        nach1=j+1;}
          if((cc%2)!=0) {for (int i=kon2+2; i<n; i++) cout<<m[i];}
 
}
   
int main()
{
        //setlocale(LC_ALL, "rus");
        
 
      ifstream in("input.txt");
    
        
       if(in.is_open()==false)
      {
            cout << "file open error!";
            return 1;
      }
 
 
 
      while(in.get(t))
      {
            m[i]=t; cout<<t;
                        i++;n=i;
                                         if (t==' ' || t=='\n') cc++;
                                                
                        
              }
          cout<<endl;
          output(t);
        
              
     
cin.get();
 return 0;}
1
6 / 6 / 2
Регистрация: 15.04.2010
Сообщений: 151
21.09.2010, 21:09  [ТС] 3
Спасибо!!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2010, 21:09
Помогаю со студенческими работами здесь

Считать текст из файла и вывести его на экран, меняя местами каждые два соседних слова
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые...

Считать текст из файла и вывести его на экран, меняя местами каждые два соседних слова
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые...

Написать программу, которая считывает текст с клавиатуры и выводит его на экран, меняет местами каждые соседние слова
Помогите пожалуйста Написать программу, которая считывает текст с клавиатуры и выводит его на...

Считать текст из файла и вывести на экран, меняя местами каждые два соседних слова
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru