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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
xflamex
0 / 0 / 0
Регистрация: 19.05.2009
Сообщений: 6
#1

Удаление n символов из строки - C++

19.05.2009, 18:38. Просмотров 2919. Ответов 4
Метки нет (Все метки)

Доброго времени суток, уважаемые жильцы этого форума!

Я еще только учусь, так что у самого ума не хватает) Никак не могу решить задачу.

Задача: Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80 символов, напечатать и удалить слова заданной длины. Полученный текст напечатать.

Буду очень благодарен за помощь!!!

Добавлено через 17 часов 56 минут 5 секунд
Ну помогите кто-нибудь просто бьюсь очень долго уже, но все никак (
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2009, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление n символов из строки (C++):

Удаление символов из строки - C++
#include "stdafx.h" #include <iostream> #include <conio.h> #include <string> using namespace std; int main() { string...

Удаление символов строки - C++
В строке удалить второй и четвертый по счету символы

Удаление символов из строки - C++
Здравствуйте. В паскале есть процедура Delete(st, i, j) которая удаляет из строки st, начиная с i-того символа, j символов. Есть ли...

Удаление символов из строки - C++
Здравствуйте, стоит задача удалить все знаки препинания и лишние символы из текста, на debian упорно не удаляются длинное тире — и...

Удаление символов из строки - C++
в С++ есть некая процедура, есть ли аналог в Си? .erase() И можно несколько примеров удаления символов из строки с пояснениями?

Удаление символов из строки - C++
Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть...

4
D1m0n
3 / 3 / 1
Регистрация: 10.05.2009
Сообщений: 9
19.05.2009, 19:56 #2
Произвольный текст откуда берётся ? с клавиатуры или файла ?
Полученный текст напечатать.
На принтере что ли ?

Задание не всплыло у вас само собой, его по какой-то теме надо сделать. (так ведь ?)
Читайте (вспоминайте), про что вам рассказывали.
Грубый вариант:
Я думаю надо воспользоваться двумерным массивом, а лучше двумя.
Двойной цикл, набираете ручками слова, затем указываете длину слов, которые нужно удалить, проверяем первый массив на наличие таких слов, если нет записываем во второй массив с теми же индексами, если есть, пропускаем их.
Выводим весь массив на экран.
Можно лучше придумать, возможности практически безграничны.
0
xflamex
0 / 0 / 0
Регистрация: 19.05.2009
Сообщений: 6
19.05.2009, 22:04  [ТС] #3
Текст вводится с клавиатуры, а выводить нужно на экран. Тема написана как "символьные строки".

а можно как нибудь с помощью строковых функции сделать?
0
Natan-7
Сообщений: n/a
20.05.2009, 01:44 #4
Держи ,вроде бы код рабочий и по возможности посмотри про строковые ф-ии в какой нибудь книге по си

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
/* Ф-ия strcat - соединяет две строки,
ф-ия strtok  вставляет вместо знаков в кавычках
знак конца строки*/
 
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
void main(){
    
    char  str[10][80],str1[10][80];
    char *p;
    int i,n,length;
 
    fflush(stdin);
    do{
        printf("How much strings do you want to enter?\n\n");
        scanf("%d",&n);
        if (n > 10){printf("Error");getch(); continue;}
        else break;
    }while(1);
    for (i = 0;i < n;i++) str1[i][1] = '\0'; 
    printf("Enter your strings\n");
    for(i = 0; i <= n; i++){
        gets(str[i]);
    }
    do{
        printf("Input length of the words\n");
        scanf("%d",&length);
        if(length > 80){printf("Error");getch();continue;}
        else break;
    }while(1);
    for( i = 1; i <= n;i++){
        p = strtok(str[i]," ,.-?!");
        do{
            if (strlen(p) == length){ 
                printf(" word: %s\n",p);
                p = strtok('\0'," .,?!-");
                continue;
        }
            else {
            
            strcat(str1[i]," ");
            strcat(str1[i],p);
            p = strtok('\0'," .,?!-");
            
            
            }
        }while(p);
    }
    printf("Strings:\n");
    for(i = 1; i <= n;i++){
        printf("%s",str1[i]);
        printf("\n");
    }
    getch();
}
xflamex
0 / 0 / 0
Регистрация: 19.05.2009
Сообщений: 6
21.05.2009, 06:09  [ТС] #5
Спасибо всем за помощь!
0
21.05.2009, 06:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2009, 06:09
Привет! Вот еще темы с ответами:

Удаление символов из строки - C++
Условие: Даны натуральное число N, символы s1,...,sn. Удалить из данной последовательности все группы букв вида abcd. Я начинающий...

Удаление повторяющихся символов из строки - C++
Необходимо написать функцию delete_repeats, которая удаляет все повторяюшиеся символы из строки. например: Only three more lessons...

Удаление из строки определенных символов - C++
Подскажите плиз функцию которая удаляет с строки символы. Например ввели символ А и с строки str удалилися все символы А... Если...

Удаление из строки повторяющихся символов - C++
Например Ввод: ABBGBAZ Вывод: ABGZ


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

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

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