Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упорядочить строки матрицы по возрастанию последних элементов строк http://www.cyberforum.ru/cpp-beginners/thread72148.html
Всем здрасти.Помогите с лабами пожалуйста. 1)Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов (1 <n<= 100, 1<m<=50) и упорядочивает элементы матрицы. Правило упорядочивания определяется вариантом. Правило упорядочивания матрицы: Упорядочить строки по возрастанию последних элементов строк 2)Выполнить сортировку целочисленного массива (поиск в массиве) из n...
C++ Добавление пробелов в строку Здравствуйте. Помогите пожалуйста решить данное задание: Дана строка,содержащая последовательность слов,разделенных пробелами. Вводится число которое не меньше длины этой строки и не больше 255. Необходимо привести строку к длине, задаваемой этим числом, путем введения дополнительных пробелов между словами. Если дано одно слово, то вывести сообщение. Были похожие темы, но там надо было просто... http://www.cyberforum.ru/cpp-beginners/thread72147.html
C++ Запись функцию на С++
F(x)=sin^2*(cos*(x^2-1)/cos*(x^2+1)) но я не знаю как это правильно записать на с++ путаюсь в расположении скобок и функций типа pow sqrt sin и т.д и т .п.
C++ Вывод чисел!
Программа которая выводит числа на экран от нуля до бесконечности!!есть код только нужно добавить несколько строк!!как я понял с функцией atoi или atol. #include <iostream.h> int main() { int a; char b; long int count = 0; cout <<"vedite 4islo";
C++ Подпрограммы http://www.cyberforum.ru/cpp-beginners/thread72130.html
Такой простенький вопросик - как вызвать из одной подпрограммы в другую переменую, точнее даже масив?
C++ Массив,нахождение отрезка max длины. Уважаемые пользователи!!Помогите пожалуйста с написанием программы!!Только начала изучение и пропустила лекцию о массивах ,но как известно никому нет дела до пропусков(понимай как хочешь) )) Задача:Поиск отрезка максимальной длины в массиве. В одномерном массиве А из К элементов найти отрезок максимальной длины и вывести его на экран, состоящий из элементов данного массива по правилу:а1 = аn,... подробнее

Показать сообщение отдельно
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.12.2009, 14:35     Строки, замена последовательностей элементов
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);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru