57 / 2 / 1
Регистрация: 19.10.2009
Сообщений: 31
1

Удалить из символьного ряда указанное количество слов

06.11.2012, 00:33. Показов 879. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ну из названия все понятно, я думаю. У нас есть символьный ряд (предложение, любое, которое вводит пользователь), и из него надо удалить указанное кол-во слов (к примеру - 5) начиная с позиции, которое тоже указывает пользователь.

Код того, что есть не имеет смысл выставлять - потому что там только элементраный диалог с пользователем, и, непосредсвенно, считывание самого символьного ряда. Это легко, а вот, как выполнить задание - не знаю.
Помогите, пожалуйста. (не обязательно кидать весь код, можете выложить только ту часть, которая выполняет само заданиее).
Буду благодарен.

Добавлено через 2 часа 20 минут
Неужели ни у кого нет идей? =)

Добавлено через 23 часа 48 минут
Обидно, что вы решаете тут довольно сложные задания, а вот с таким простым помочь не можете/не хотите...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2012, 00:33
Ответы с готовыми решениями:

Удалить из символьного ряда один символ
Помогите никак немогу разобратся --------------------- case 3: ...

Удалить определенные символы из символьного ряда
Приветствую! Как удалить определённые символы из ячейки? К примеру, чтобы добавить слово в...

Рекурсивные методы: вывести указанное количество членов ряда
Можете подсказать, как это делать?

Как удалить из текстового документа указанное количество строк
Как сделать, чтобы программа удаляла из текстового документа указанное кол-во строк?

4
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12453 / 7478 / 1752
Регистрация: 25.07.2009
Сообщений: 13,748
06.11.2012, 01:45 2
Цитата Сообщение от KakTOC Посмотреть сообщение
Ну из названия все понятно
Да если бы... А слова чем разделяются? А сохранять разделители, отличные от пробелов и (или) количество пробелов между словами?

Цитата Сообщение от KakTOC Посмотреть сообщение
Код того, что есть не имеет смысл выставлять - потому что там только элементраный диалог с пользователем, и, непосредсвенно, считывание самого символьного ряда. Это легко
Так же легко сделав проверку на корректность введённых данных (чтобы к примеру -3 слова удалить не пытаться, или в пустой строке слова не считать) и не заморачиваясь заданными выше вопросами можно сделать что-то вроде
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
 
int main(void) {
    char inStr[] = "111 222 333 444 555 666 777 888", outStr[BUFSIZ] = { 0 }, * ptr;
    int wordToStartRemoving = 2, numWordsToRemove = 3, curWord = 0;
    
    for ( ptr = strtok(inStr, DELIM); ptr != NULL && ++curWord; ptr = strtok(NULL, DELIM) ) {
        if ( curWord < wordToStartRemoving || curWord >= wordToStartRemoving + numWordsToRemove ) {
            strcat(outStr, ptr);
            strcat(outStr, " ");
        }
    }
    
    printf("%s\n", outStr);
    
    return 0;
}

Не по теме:


Цитата Сообщение от KakTOC Посмотреть сообщение
Добавлено через 2 часа 20 минут
Неужели ни у кого нет идей? =)
Добавлено через 23 часа 48 минут
Обидно, что вы решаете тут довольно сложные задания, а вот с таким простым помочь не можете/не хотите...
А Вы думали - все кинутся сломя голову простенькую програмку писать? Так это во фрилансе, а тут - строго на удачу: или сразу напишут, или через сутки... А то бывало - приходит человек из армии, а через недельку ему кто-нибудь "ту самую курсовую" скидывает...

1
57 / 2 / 1
Регистрация: 19.10.2009
Сообщений: 31
06.11.2012, 12:33  [ТС] 3
Цитата Сообщение от easybudda Посмотреть сообщение
Да если бы...
Ну так если что-то не понятно, можно же спросить. ) К примеру, как это сделали - вы. =)
Цитата Сообщение от easybudda Посмотреть сообщение
А слова чем разделяются?
Ну ключевое - пробелом (даже если и знаками пунктуации, то после них, как правило - идет пробел).
Цитата Сообщение от easybudda Посмотреть сообщение
А сохранять разделители, отличные от пробелов и (или) количество пробелов между словами?
Ну я не прошу так заморачиваться, единственное, что я никак не мог понять, это сам процесс удаление из строки указанное кол-во слов.
Цитата Сообщение от easybudda Посмотреть сообщение
можно сделать что-то вроде
Большое вам спасибо. Теперь более менее понятно. Единственное, чего не понял, это - outStr[BUFSIZ] = { 0 }, что значит BUFSIZ, понятно, что размер, но какой? Откуда берется значение?




Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
А Вы думали - все кинутся сломя голову простенькую програмку писать?
Да нет, просто иногда смотришь, даже на самую простую программу вроде "сложить два числа", отвечают чуть ли не сразу, а чуть посложнее - можно вообще не дождаться ответа.

0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12453 / 7478 / 1752
Регистрация: 25.07.2009
Сообщений: 13,748
06.11.2012, 14:25 4
KakTOC, BUFSIZ - макрос, объявленный в stdio.h, возвращает размер буферов чтения/ записи. В винде обычное значение 512, чего должно бы за глаза хватать для размера строки.
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 7
12.11.2012, 19:43 5
easybudda, Можете помочь со строкой не могу додуматься к одному моменту?
0
12.11.2012, 19:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2012, 19:43
Помогаю со студенческими работами здесь

Необходимо описать рекурсивную функцию, которая выводит указанное количество членов ряда
Необходимо описать рекурсивную функцию, которая выводит указанное количество членов ряда C++

Динамический массив - удалить указанное количество элементов с хвоста массива
Доброе время суток! Ребята, подскажите как реализовать это задание Описать массив указанного...

Динамический массив - удалить указанное количество элементов с хвоста массива
Доброе время суток Подскажите, как быть тут? Только на динамический массив перешел Первое задание...

Как в строке удалить указанное количество символов, начиная с заданной позиции?
Доброго времени суток! Подскажите, пожалуйста, как удалить с m по n символов, перезаписать строку и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru