0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 22
1

Удаление комбинации символов из массива.

16.05.2010, 00:55. Показов 4786. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Прошу помочь в таком вопросе: нужно удалить из введённой (не более 100 знаков) строки комбинацию букв "the".
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
#include <stdio.h>
#include <conio.h>
 
int main ()
{
    
    char str[100],str1[100];
    int i,x,j;
    
    printf ("Vvedite stroku simvolov(ne bolee 100 elementov)\n");
    scanf ("%s",str);
    x=sizeof str/sizeof str[0];    
    for (i=0;i<x;i++)
    {
        if (str[i]=='t'&&str[i+1]=='h'&&str[i+2]=='e')
        {
        for (j=i;j<i+3;j++)
        {
            str1[j]=str[i];
            }
        }
    }    
printf ("%s",str1);    
        
getch();
return 0; 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2010, 00:55
Ответы с готовыми решениями:

Удаление из массива символов символов от A до Z
Лаба по компьютерным сетям. Выполняется в CLR, поэтому через string не решить, т.к так функция...

Удаление символов из массива
Дан целочисленный массив размера N. Удалить из массива все нечётные числа и вывести размер...

Удаление символов из массива
Преобразовать строку S, удалив из нее все символы, не являющиеся буквами. var s: String; ...

Удаление повторяющихся символов массива
Надо сделать так что бы повторяющиеся символы массива удалялись, а сам массив сдвигался.

4
31 / 30 / 19
Регистрация: 18.01.2010
Сообщений: 123
16.05.2010, 01:51 2
тут будут последовательности the заменяться пробелами
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
char * str = new char[100] ;
    int i,x,j;
 
    cout << "Vvedite stroku simvolov(ne bolee 100 elementov" << endl ;
    cin.getline(str,100) ;
    x=strlen(str) ;
    for (i=0;i<x;i++)
    {
        if (str[i]=='t'&&str[i+1]=='h'&&str[i+2]=='e')
        {
        for (j=i;j<i+3;j++)
        {
            str[j]=' ';
            }
        }
 
    }
cout << str ;
 
getch();
        return 0;
}
0
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 22
16.05.2010, 02:18  [ТС] 3
К сожалению, нужен код именно на С, и именно удаление символов... Думаю, нужно определённым образом переписать строку во второй массив, только вот реализовать не получается.
0
1 / 1 / 0
Регистрация: 27.05.2010
Сообщений: 15
28.05.2010, 13:16 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
#include <stdio.h>
#include <conio.h>
 
int main ()
{
    
    char str[100];//, str1[100]; можно обойтись одним массивом
    int i, x, j;
    
    printf ("Vvedite stroku simvolov(ne bolee 100 elementov)\n");
    scanf ("%s", &str);
    x = sizeof(str) / sizeof(char);    
    //printf("%d, %s", x, str);
    j = 0;
    for (i=0; i<x; i++)
    {
       //когда встречаем комбинацию "the"
        if (str[i-3]=='t'&&str[i-2]=='h'&&str[i-1]=='e')
        {
            //"откатываемся" назад на три символа. 
            j -= 3;
     }
     str[j] = str[i];
         j++;
 
    }    
    printf ("%s",str);    
        
    getch();
    return 0; 
}
Всё оказалось просто.
0
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 22
04.06.2010, 00:45  [ТС] 5
Большое спасибо за помощь.
0
04.06.2010, 00:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2010, 00:45
Помогаю со студенческими работами здесь

Удаление элементов из массива символов
Написать массив из символов. Удалить количество элементов, начиная с заданой позиции.

Удаление двумерного динамического массива символов
Программа разбивает строку на слова и записывает каждое слово по отдельности в двумерный...

Удаление символов пунктуации из массива строк
Как удалить ненужные символы, перезаписать их в новый массив символов, перевернуть все строки, для...

Более 3 разных символов в комбинации
Доброго времени суток, можно ли сделать больше чем 3 кнопки на комбинацию?


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

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

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