• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Строки. Не могу найти ошибку в программе

Ильгиза

Новые
Регистрация
8 Окт 2011
Сообщения
49
Реакции
0
Баллы
0
Строки. Не могу найти ошибку в программе

здравствуйте!Помогите пожалуйста разобраться с задачей!!


Описать функцию, которая помещает в строку 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;}

Заранее благодарю!!!
 
#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;
}

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