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

Программа удаляет из строки слово с заданным номером. - C++

Восстановить пароль Регистрация
 
LVitalya
1 / 1 / 0
Регистрация: 07.12.2010
Сообщений: 27
27.05.2011, 16:24     Программа удаляет из строки слово с заданным номером. #1
Помогите! нужно написать программу на "С". "Программа удаляет из строки слово с заданным номером!"(как объяснял преподаватель например 2 строки "скоро курсовая работа(20 символов в этой строке) пользователь задает удалить например 2 слово 6-14 символ, программа должна вывести скоро работа") Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2011, 16:24     Программа удаляет из строки слово с заданным номером.
Посмотрите здесь:

Добавить строку с заданным номером C++
программа берет слово, к примеру Hello, и удаляет в нем какую либо букву указанную программистом по счету, C++
C++ Программа, которая удаляет из введенной с клавиатуры строки начальные пробелы
C++ Класс строки (удаление из строки слова с заданным номером и символа с заданным номером)
C++ Программно пронумеровать в блокноте строки и удалить строку с заданным номером
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
27.05.2011, 17:24     Программа удаляет из строки слово с заданным номером. #2
ща будет. . .

Добавлено через 27 минут
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
#include <stdio.h>
 
void main()
{
    char st[200] = "skoro kursovaya rabota";
    printf("Ishodnaya stroka: %s\nVvedite nomer slova kotoroe nujno udalit: ",st);
    int slovo;
    scanf("%d", &slovo);
    int i = 0;
    bool word = *st >= 'A' && *st <= 'Z' || *st >= 'a' && *st <= 'z';
    slovo -= word;
    while(st[++i] && slovo)
    {
        if( ( st[i] >= 'A' && st[i] <= 'Z' || st[i] >= 'a' && st[i] <= 'z' ) != word)
        {
            slovo -= word;
            word = !word;
        }
    }
    int wordLen = 1;
    while(st[i + wordLen] >= 'A' && st[i + wordLen] <= 'Z' || st[i + wordLen] >= 'a' && st[i + wordLen] <= 'z')
        ++wordLen;
    while( ( st[i + wordLen] < 'A' || st[i + wordLen] > 'Z' ) && ( st[i + wordLen] < 'a' || st[i + wordLen] > 'z' ) )
        ++wordLen;
    while(st[i + wordLen])
    {
        st[i] = st[i + wordLen];
        ++i;
    }
    st[i] = 0;
 
    printf("\nStroka posle preobrazovaniya: %s\n",st);
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
27.05.2011, 17:41     Программа удаляет из строки слово с заданным номером. #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <string.h>
 
void del(char *s, size_t n){
  size_t x = 1;
  char res[BUFSIZ] = {'\0'}, *p;
  for(p = strtok(s, " "); p; p = strtok(NULL, " "), ++x)
    if(x != n){
      strcat(res, p);
      strcat(res, " ");
    }
  strcpy(s, res);
}
 
int main(){
  char str[BUFSIZ] = "skoro kursovaya rabota";
  size_t num = 2;
  del(str, num);
  puts(str);
  return 0;
}
LVitalya
1 / 1 / 0
Регистрация: 07.12.2010
Сообщений: 27
27.05.2011, 20:01  [ТС]     Программа удаляет из строки слово с заданным номером. #4
какой программой можно это проверить?)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
27.05.2011, 20:02     Программа удаляет из строки слово с заданным номером. #5
Цитата Сообщение от LVitalya Посмотреть сообщение
какой программой можно это проверить?)
Бесплатные среды (IDE) для программирования на С/С++
Yandex
Объявления
27.05.2011, 20:02     Программа удаляет из строки слово с заданным номером.
Ответ Создать тему
Опции темы

Текущее время: 02:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru