Добавил:
Yanus
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Labs - val / Lab1
.cpp#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <pcreposix.h>
class String
{
protected:
int len;
int result;
char *pdest;
public:
char str[256];
int getLenght()
{
len = strlen( str );
return len;
}
int getFirstEntry(int ch)
{
pdest = strchr( str, ch );
if (pdest)
result = (int)(pdest - str + 1);
else
result = 0;
return result;
}
int getLastEntry(int ch)
{
pdest = strrchr( str, ch );
if (pdest)
result = (int)(pdest - str + 1);
else
result = 0;
return result;
}
int replaceString(char *pattern, char *pattern_replace)
{
char temp_str[256];
result = 0;
int number = 0;
while(1){
pdest = strstr( str, pattern );
if( pdest==NULL ){break;}
result = (int)( pdest - str );
strncat( temp_str, str, result );
strcat( temp_str, pattern_replace );
strcat( temp_str, str + result + strlen(pattern) );
strcpy( str, temp_str);
strcpy( temp_str, "" );
number++;
}
return number;
}
};
int main()
{
String inputString;
char s[256];
char pattern[256];
char pattern_replace[256];
int chars[2] = {'a','e'};
int numberString = 2;
int numberChar = 2;
int entry = 0;
// Lab 1.1
/*
for (int i=0; i<numberString; i++){
printf( "\nInput string to be searched: ");
scanf( "%s", s);
strcpy(inputString.str, s);
for (int j=0; j<numberChar; j++){
entry = inputString.getFirstEntry(chars[j]);
if (entry!=0){
printf( "Result: first %c found at position %d\n",
char(chars[j]),
inputString.getFirstEntry(chars[j])
);
printf( "Result: last %c found at position %d\n",
char(chars[j]),
inputString.getLastEntry(chars[j])
);
} else {
printf( "Result: %c not found \n",chars[j]);
}
}
printf( "Result: string length %d\n", inputString.getLenght());
}
*/
//Lab 1.2
printf( "\nInput string to be replaced: ");
scanf( "%s", s);
strcpy(inputString.str, s);
printf( "\nInput pattern to be replaced: ");
scanf( "%s", pattern);
printf( "\nInput replace pattern: ");
scanf( "%s", pattern_replace);
printf( "\nNumber of coincidence: %d", inputString.replaceString(pattern,pattern_replace) );
printf( "\nReplaced string: %s", inputString.str );
getchar(); getchar();
}
Соседние файлы в папке Labs - val