Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабы / C++.Ашарина / !Сделанные / Lab7 / Var01 / Str
.cpp#include"str.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
const m=15;
string::string(int n, char a, char b)
{
len=n;
str=new char[len];
for (int i=0;i<=len-1;i++)
str[i]=random(b-a+1)+a;
str[len]=0;
}
string::string(char *v, int n)
{
len=n;
str=new char[len];
strcpy(str,v);
}
string::~string()
{
delete str;
len=0;
}
void string::print()
{
printf("%s",str);
}
void string::change(int a, int b)
{
str[a]+=str[b];
str[b]=str[a]-str[b];
str[a]-=str[b];
}
void string::operator >>(int p)
{
for (int i=0;i<=len/2-1;i++)
change(i,len-i-1);
}
char* string::operator ++()
{
char *word;
int p=-1, p1=0, p2=len-1, r=len;
for (int i=1;i<=len-1;i++)
{
if (str[i]==' ')
{
if (str[i-1]!=' ')
if (r>i-p-1)
{
p1=p+1;
p2=i-1;
r=p2-p1+1;
}
p=i;
}
}
word=new char[r];
for (i=p1;i<=p2;i++)
word[i-p1]=str[i];
word[r]=0;
return word;
}