Скачиваний:
0
Добавлен:
31.05.2025
Размер:
2.43 Кб
Скачать
#include <iostream>
#include <clocale>
#include <cstring> 
using namespace std;
class String
{
   char str[80];
   char sen[99];
   int metr;
   int k;
 public:
   String operator=(const String & other)
   {
     for (int i = 0; i < 80; i++)
	{
		this->str[i] = other.str[i];
	}
	this->metr = other.metr;
	return *this;
   }
   void format();
   void scan_sen();
   void look();
   int analiz_s();
   void analiz_A();
   int analiz_word();
   void Run();
};

void String::scan_sen()
{
	printf("Введите вашу строку:\n");
	gets(sen);
}
void String::format()
{
   k=0;
   metr=strlen(sen)+1;
   for (int i =0; i<metr; i++) 
{
   	if ((sen[i]!=' ')&&(sen[i+1]!=' ')||((sen[i]!=' ')&&(sen[i+1]=' ')))
   	{
	 str[k]=sen[i];
	 k++;	
   }
   else
   {
   	if ((sen[i-1]!=' ')&&(i!=0))
   	{
   	  str[k]=sen[i];
   	  k++;
    }
   }
}
   metr=strlen(str);    
}
void String::look()
{
	printf("Ваша введенная отформатированная строка:\n");
	printf("Ее длина:  %d\n",metr);
	puts(str);
}
int String::analiz_s()
{
	int k =0;
    for(int i = 0;i<metr;i++)
    {
    if(((str[i]>=0)&&(str[i]<=31))||((str[i]>=33)&&(str[i]<=64))||((str[i]>=91)&&(str[i]<=96))||((str[i]>=123)&&(str[i]<=127)))
    {
     k++;		
	}	         
    }
	return k; 
}
void String::analiz_A()
{
  int i=0;
  if ((str[i]==65)||(str[i]==97))
  {
  	printf("Строка начинается с буквы А\n");
  }
  else
  {
  	printf("Строка не начинается с буквы А\n");
  }
} 
int String::analiz_word()
{
  k=1;
  for(int i=0;i<metr;i++)
  {
  	if(str[i]==32)
  	{
  	 k++;
	}
  }
  return k;
}
void String::Run()
{
	char sen[(metr-(metr/3))];
	if (metr%3==0)
	{
		printf("Строка кратна трем\n");
		k=1;
		int j=0;
		for(int i=0;i<(metr+1);i++)
		{
		  if(k%3!=0)
		  {
		   	sen[j]=str[i];
		   	j=j+1;
		   	k=k+1;
	      }	
	      else
	      {
	      	k=1;
		  }
		}
		strcpy(str, sen);
	    metr=strlen(sen); 
	}
	else
	{
		printf("Строка не кратна трем\n");
	}
	
}
int main()
{
   setlocale (LC_ALL,"rus");
   String S1;
   S1.scan_sen();
   S1.format();
   S1.look();
   S1.analiz_A();
   S1.analiz_s();
   S1.analiz_word();
   printf("%s\n",(S1.analiz_s()==0)?"Присуствуют только буквы":"Имеются символы");
   printf("Количество слов в предложении:%d\n",S1.analiz_word());
   String S2;
   S2=S1;
   S2.Run();
   S2.look();
}
  

Соседние файлы в папке Proga for P4