Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

prg-sem-sp / 2 / Задача9

.CPP
Скачиваний:
15
Добавлен:
28.03.2015
Размер:
1.69 Кб
Скачать
// ЏҐаҐбв ­®ўЄ  да Ј¬Ґ­в®ў ⥪бв 
#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