Site icon C/C++ Структурное программирование

Вариант 5

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

Код программы:

//---------------------------------------------------------------------------
#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 и заполняем его необходимым содержанием.

Результат работы программы:

Вариант 4
Вариант 6
Exit mobile version