Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ITMaster
0 / 0 / 0
Регистрация: 31.05.2016
#1

Строки, замена последовательностей элементов - C++

09.12.2009, 02:42. Просмотров 1009. Ответов 1

Всем доброго времени суток!
Народ нужен хелп! Задание со строками на С++ в консольном режиме.
Само задание:
В заданной строке заменить все последовательности "on" на "online".
Например: для строки “abcoon1.boon” -“abcoonline1.boonline”
Препод предложил реализовать прогу с помощью функций:
bool Check(char src[], int p, char substr[]); где p - позиция
и
void Add(char src[], char substr[]);

Подтолкните на мысль, как сделать задание, используя эти две функции?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2009, 02:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки, замена последовательностей элементов (C++):

Замена первых элементов каждой строки квадратной матрицы на сумму элементов этой строки - C++
Замена первых элементов каждой строки квадратной матрицы на сумму элементов этой строки

Замена элементов строки матрицы - C++
Здравствуйте, как можно заменить элементы каждой строки матрицы на обратный. То есть если у нас дана матрица: 3 1 2 3 5 6 8 3 4 ...

Строки. Обработка последовательностей символов - C++
Есть маленькая проблема. Нужно изменить программу так, что бы заменить 'child' на 'children' и удалить все символы, являющеися цифрами....

Массив(Замена выбранных элементов). Область памяти(замена выбранных элементов) - C++
Собственно 3 задачи в которых нужна помощь...Может кто нить встречался с таким родом задач? 1.Создать массив из 20 элементов,...

Найти произведение самых длинных последовательностей отрицательных чисел каждой строки матрицы - C++
Всю голову сломал этой задачей:Составить программу, которая находит в каждой строке матрицы S(k,l), k≤12, l≤15, самую длинную...

8. Найти среднее арифметическое элементов каждой строки матрицы Q(l,m) и вычесть его из элементов этой строки - C++
желательно с коментариями

1
Gravity
566 / 560 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 14:35 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define MAXLEN 4096
 
static int slen;
static int check(char *, int, char *);
static void add(char *, char *, int, int);
 
int
main(void)
{
    char s[MAXLEN], *p;
    char *template = "on";
    char *substr = "online";
    int i, tlen, sublen;
 
    printf("Введите строку: ");
    if(fgets(s, sizeof(s), stdin) == NULL || *s == '\n')
        return 1;
    if(p = strrchr(s, '\n'))
        *p = '\0';
    
    slen = strlen(s);
    tlen = strlen(template);
    sublen = strlen(substr);
    for(i = 0; s[i] != '\0'; i++)
        if(check(s, i, template))
            add(s + i, substr, sublen, tlen);
    printf("Получили: %s\n", s);
    return 0;
}
 
/*
 * check: проверка на вхождение подстроки substr
 * в строку s с позиции pos */
static int
check(char *s, int pos, char *substr)
{
    int i, j;
    for(i = pos, j = 0; substr[j] == s[i]
                        && substr[j] != '\0'; i++, j++)
        ;
    return (substr[j] == '\0') ? 1 : 0;
}
 
/* 
 * add: замена заданного шаблона длиной tlen
 * в строке s на подстроку substr длиной sublen */
static void
add(char *s, char *substr, int sublen, int tlen)
{
    if(slen + sublen - tlen + 1 > MAXLEN) {
        printf("В строке недостаточно места для замены.\n");
        exit(1);
    }
    memmove(s + sublen, s + tlen, strlen(s + tlen) + 1);
    memmove(s, substr, sublen);
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2009, 14:35
Привет! Вот еще темы с ответами:

Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки. размер матрицы 7х7.заранее спасибо - C++
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки.. размер матрицы 7х7.заранее...

Замена строки - C++
Здравствуйте. Необходимо одну строку заменить полностью на другую. Я бы хотел уточнить,все ли я так понял? По сути это делается так: ...

умножением элементов каждой строки первой матрицы на наибольший из элементов соответствующей строки второй матрицы - C++
получить новую матрицу умножением элементов каждой строки первой матрицы на наибольший из элементов соответствующей строки второй...

Замена строки в файле - C++
Помогите, пожалуйста, с алгоритмом или кодом решения следующей проблемы (на С или С++): есть обычный текстовый файл, в нем содержатся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru