Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   Строки. Не могу найти ошибку в программе (http://www.tehnari.ru/f42/t74488/)

Ильгиза 05.06.2012 13:28

Строки. Не могу найти ошибку в программе
 
здравствуйте!Помогите пожалуйста разобраться с задачей!!


Описать функцию, которая помещает в строку s1 строку s2 с удалённым из неё фрагментом из n символов, начиная с i-го.
Указание: Использовать функции strcat, strcpy и т.п.

решила, но программа почему то несовсем правильно работает((((
#include <stdio.h>
#include <string.h>
void vst(char *s,char *s1,int n,int i)
{int j,k;
for (k=0;k<n-1;k++)
for (j=i;j<strlen(s1);j++)
{ s1[j]=s1[j+n];
printf("%s\n",s1); }
strcat(s,s1);
}
int main()
{
char s[100];
char s1[100]; int i,n;
gets(s);
gets(s1);
printf("введите i,n\n");
scanf("%d%d",&i,&n);
vst(s,s1,i,n);
printf("%s\n",s);
return 0;}

Заранее благодарю!!!

kreol 06.06.2012 02:02

#include <stdio.h>
#include <string.h>

void vst(char *s, char *s1, int i, int n){
unsigned int k = strlen(s);
for (int j = i; j <= n; j++){
s[k] = s1[j];
k++;
}
}

int main(){
char s[100];
char s1[100];
int i, n;
printf("s1 = ");
gets(s);
printf("s2 = ");
gets(s1);
printf("введите i, n\n");
scanf("%i%i", &i, &n);
vst(s, s1, i, n);
printf("%s\n", s);
return 0;
}

надеюсь все же не обязательно было использовать ту функцию...

Ильгиза 07.06.2012 11:57

Спасибо большое!!!


Часовой пояс GMT +4, время: 16:13.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.