Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Код программы:
//--------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<windows.h> #include<fstream.h> #include<vector.h> #include<vcl.h> #pragma hdrstop #pragma argsused //--------------------------------------------------------------------------- char *rus(const char *text); int main(int argc, char* argv[]) { ifstream fin("text.txt"); if(!fin) { cout<<rus("Ошибка открытия файла или такого файла не существует!")<<endl; getch(); return 1; } long len; char *buf=new char[len+1]; char *p=new char[len+1]; AnsiString temp; vector<AnsiString>c; int cnt=0,cnt1=0,kolsrt=0,i,j,m; //-------------------------------------------------------------------------- while(fin.getline(buf,len)) { kolsrt=0; int l_buf=strlen(buf); for(i=0,m=0;i<l_buf;i++) { if(isalpha(buf[i])) { p[m++]=buf[i]; } if(isspace(buf[i+1])||ispunct(buf[i+1])||isdigit(buf[i+1])||buf[i+1]=='\0') { kolsrt++; cnt++; c.push_back(p); m=0; } } } for(i=1;i<cnt;i+=2) { temp=c[i]; c[i]=c[i-1]; c[i-1]=temp; } for(i=0;i<cnt;i++) { cout<<c[i]<<' '; cnt1++; if(cnt1==kolsrt) { cout<<endl; cnt1=0; } } fin.close(); getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text, bufrus); return bufrus; } //---------------------------------------------------------------------------
Создаем текстовый файл в папке с проектом с именем text.txt и заполняем его необходимым содержанием.
Результат работы программы: