1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Ф-ция со строками

Тема в разделе "Вопросы новичков и не только", создана пользователем Again, 22 дек 2010.

  1. Again

    Again Гость

    Репутация:
    0
    Составить функцию Zam (s, p, q, n), которая в строке символов s заменяет все вхождения подстроки p на не более чем n символов подстроки q. Стандартные функции для работы со строками не использовать.
     
  2. Again

    Again Гость

    Репутация:
    0
    Предпологается, что в s достаточно места для размещения суммарной строки.
     
  3. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Код:
    #include <stdio.h>
    
    //
    // Составить функцию Zam (s, p, q, n), которая в строке символов s заменяет все вхождения подстроки p
    // на не более чем n символов подстроки q. Стандартные функции для работы со строками не использовать.
    //
    // Предпологается, что в s достаточно места для размещения суммарной строки.
    //
    
    int slen( char s[] )
    {
    int	i = 0;
    while ( *s++ ) i++;
    return i;
    }
    
    int scmp( char a[], char b[], int n )
    {
    for (; *a == *b && --n; a++, b++ );
    return n == 0;
    }
    
    void sput( char s[], char a[], int n )
    {
    while ( n-- ) *s++ = *a++;
    }
    
    void Zam( char s[], char p[], int n, char q[] )
    {
    int	i;
    for ( i = 0; i < slen( s ) - n; i++ ) {
    if ( scmp( &s[i], p, n ) ) {
    sput( &s[i], q, n );
    }
    }
    }
    
    int main()
    {
    int		n;
    char	s[1000], p[100], q[100];
    
    printf( "Vvedite stroku s: " );
    scanf( "%s", s );
    
    printf( "Vvedite podstroku p: " );
    scanf( "%s", p );
    
    printf( "Vvedite podstroku q: " );
    scanf( "%s", q );
    
    printf( "Vvedite n: " );
    scanf( "%d", &n );
    
    Zam( s, p, n, q );
    
    printf( "Resultat: %s\n", s );
    
    return 0;
    }
     
Загрузка...
Похожие Темы - ция со строками
  1. Remir
    Ответов:
    19
    Просмотров:
    386
  2. Twix
    Ответов:
    9
    Просмотров:
    1.079
  3. PingVinich
    Ответов:
    4
    Просмотров:
    1.099
  4. PingVinich
    Ответов:
    9
    Просмотров:
    1.655
  5. PingVinich
    Ответов:
    3
    Просмотров:
    1.141

Поделиться этой страницей