Функция - замена строки(на C#)

Тема в разделе "C/C++/C#", создана пользователем OlzhasIITU, 31 янв 2011.

  1. OlzhasIITU

    OlzhasIITU Гость

    Код (C++):
    Функция - Заменить (S, S1, S2). Функция - замена строки S комбинацию символов S1-S2

    /***************************************************************/
    /*********************** Файл LAB1.C **************************/
    #include <stdio.h>
    #define N 80

    char *replace(char *s, char *s1, char *s2)
    {

    while(*s)
    {
    if(*s == *s1)
    *s = *s2;
    ++s;
    }
    }
    return s;
    }

    main() {

    char *s, *s1, *s2;
    int n, l, m;

    printf("s = ");
    gets(s);
    printf("s1 = ");
    gets(s1);
    printf("s2 = ");
    gets(s2);

    replace(s, s1, s2);
    printf("%s\n", s);
    getch();
    }
     
  2. ierofant

    ierofant Гость

    Почему вы решили, что это С#?
     
  3. RiCrO

    RiCrO Гость

    ierofant, скорее всего нужно сделать это в C#.
     
  4. ierofant

    ierofant Гость

    Тогда логичнее было бы разместить это в ветке .Net
     
  5. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Автор небось сам гадает что он хочет чтобы ему сделали и на каком языке.
     
  6. StudyMen

    StudyMen Гость

    Профессиональная и оперативная помощь студентам в решении задач по программированию.
    Реализатор: ведущий разработчик. Более 5000 выполненных работ по программированию для студентов всех ВУЗов России более чем на 25 различных языках программирования.
    Стоимость: от 30 рублей за задачу.
    Оплата: оплата производится после выполнения задачи (то есть без предоплаты).
    Способ оплаты: электронный платежные системы webMoney и Яндекс-деньги.
    Контакты для связи:
    Email: administrator@studymen.ru
    Skype: studymen
    ICQ: 639151387
     
  7. OlzhasIITU

    OlzhasIITU Гость

    /***************************************************************/
    /*********************** Файл LAB1.C **************************/
    #include <stdio.h>
    #define N 80

    int t_sample = 0;
    int isNext_sample(char s[N], char s1[N]) {
    int j = 0;
    while(s[t_sample] != '\0' && s1[j] != '\0') {
    if((s[t_sample] != s1[j]) ||
    (s[t_sample+1] == '\0' && s1[j+1] != '\0'))
    return 0;
    t_sample++;
    j++;
    }
    return 1;
    }

    int Replace_sample(char s[N], char s1[N], char s2[N]) {

    int i = 0, k;
    while(s[t_sample] != '\0') {
    if(isNext_sample(s, s1)) {
    for(k = 0; s2[k] != '\0'; k++) {
    s = s2[k];
    i++;
    }
    } else {
    s = s[t_sample];
    i++;
    t_sample++;
    }
    }
    s = '\0';
    printf("Sample not pointer: %s\n", s);
    return 1;
    }

    int t_ptr = 0;
    int isNext_ptr(char *s, char *s1) {
    int j = 0;
    while(*(s+t_ptr) != '\0' && *(s1+j) != '\0') {
    if((s[t_ptr] != s1[j]) ||
    (*(s+t_ptr+1) == '\0' && *(s1+j+1) != '\0'))
    return 0;
    t_ptr++;
    j++;
    }
    return 1;
    }

    int Replace_ptr(char *s, char *s1, char *s2) {

    int i = 0, k;
    while(*(s+t_ptr) != '\0') {
    if(isNext_ptr(s, s1)) {
    for(k = 0; *(s2+k) != '\0'; k++) {
    *(s+i) = *(s2+k);
    i++;
    }
    } else {
    *(s+i) = *(s+t_ptr);
    i++;
    t_ptr++;
    }
    }
    *(s+i) = '\0';
    printf("By pointer: %s\n", s);
    return 1;
    }

    main() {

    char s[N], s1[N], s2[N];
    int n, l, m;

    printf("Function - Replace(s,s1,s2). Function - replacement string s combination of symbols s1 to s2.\n");
    printf("s = ");
    gets(s);
    printf("s1 = ");
    gets(s1);
    printf("s2 = ");
    gets(s2);
    Replace_sample(s, s1, s2);
    Replace_ptr(s, s1, s2);
    getch();
    }
     
  8. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    OlzhasIITU, предлагаю такие же условия что и StudyMen, но только разница в наших рейтингах. Выбирай.

    Добавлено: После твоего последнего поста я понял что сам ты на этой задачей не думал ни разу. Об этом говорит это:
    Думаю вряд ли найдется уникал, который будет делать тебе это бесплатно. В общем читай выше.
     
Загрузка...

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