Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:prg-sem-sp / 2 / Задача9
.CPP// ЏҐаҐбв ®ўЄ да Ј¬Ґв®ў ⥪бв
#include <stdio.h>
#include <string.h>
#include <alloc.h>
#include <conio.h>
#define ENTER 13
int main()
{int i,begin1,end1,begin2,end2,n=0,z=0,max=0,max1=0,max2=0;
char ch,fragment1[90],fragment2[90];
char*input=(char*)calloc(350,sizeof(char));
clrscr();
puts("‚ўҐ¤ЁвҐ ®¬Ґа Ї®§ЁжЁ©:");
scanf("%i %i %i %i",&begin1,&end1,&begin2,&end2);
begin1-=1;begin2-=1;
puts("‚ўҐ¤ЁвҐ ⥪бв(ENTER-®Є®з ЁҐ ўў®¤ ):");
for(i=0;((ch=getche())!=ENTER)&&(i<=300);i++)
{input[i]=ch;
if(i==begin1){if(begin1!=end1){fragment1[n]=ch;n++;begin1++;}}
if(i==begin2){if(begin2!=end2){fragment2[z]=ch;z++;begin2++;}}
}input[i]=NULL;fragment1[n]=NULL;fragment2[z]=NULL;
max=strlen(input);
max1=strlen(fragment1);
max2=strlen(fragment2);
if(max2>max1){for(i=0;i<(max2-max1);i++)
{for(z=(begin2-max2);z<max;z++)
input[z]=input[z+1];
max--;
input[max]=NULL;}
}
else{for(i=0;i<(max1-max2);i++)
{for(z=max;z>=begin2;z--)
input[z]=input[z-1];
max++;
input[max]=NULL;
}
}
z=0;
for(i=begin2-max2;i<begin2-max2+max1;i++)
{input[i]=fragment1[z];
z++;
}
if(max1>max2){for(i=0;i<(max1-max2);i++)
{for(z=(begin1-max1);z<max;z++)
input[z]=input[z+1];
max--;
input[max]=NULL;}
}
else{for(i=0;i<(max2-max1);i++)
{for(z=max;z>=begin1;z--)
input[z]=input[z-1];
max++;
input[max]=NULL;
}
}
z=0;
for(i=begin1-max1;i<begin1-max1+max2;i++)
{input[i]=fragment2[z];
z++;
}
puts("\n€§¬ҐҐл© ⥪бв:");
puts(input);
free(input);
getche();
return 0;
}
Соседние файлы в папке 2