Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
бутафор
0 / 0 / 1
Регистрация: 05.10.2010
Сообщений: 43
1

Удалить все буквы из строки

05.02.2015, 13:39. Просмотров 1070. Ответов 2
Метки нет (Все метки)

День добрый, подскажите, пожалуйста. Нужно реализовать вот такую вещь:
Ввести строку символов, если ее длина >5, удалить все буквы – a..z.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2015, 13:39
Ответы с готовыми решениями:

Удалить из строки все гласные буквы
#include <stdio.h> #include <conio.h> #include <iostream> #include <string.h> void main() { ...

Ввести строку с клавиатуры. Удалить из строки все гласные буквы
#include <stdio.h> #include <conio.h> #include <iostream> #include <string.h> void main() {...

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

Из введенной строки удалить все слова, которые начинаются с большой буквы и вывести полученную строку
#include <stdio.h> #include <locale.h> #include <math.h> #include <string.h> #include...

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A
Даны строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся символов, то...

2
HighPredator
5693 / 2012 / 723
Регистрация: 10.12.2010
Сообщений: 5,780
Записей в блоге: 3
06.02.2015, 10:24 2
Можно так вот например:
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
int RemoveLetters(char* const str)
{
  int errorCode = 0;
  int i = 0;
  int j = 0;
  int N = 0;
  char* tempStr = NULL;
 
  if (str == NULL)
  {
    errorCode = -1;
  }
  else
  {
    N = strlen(str) + 1;
    if (N > 5)
    {
      tempStr = malloc(N * sizeof(*tempStr));
      if (tempStr == NULL)
      {
        errorCode = -1;
      }
      else
      {
        memset(tempStr, 0, N * sizeof(*tempStr));
        j = 0;
        for(i = 0; i < N - 1; i++)
        {
          if ((str[i] < 'a') || (str[i] > 'z'))
          {
            tempStr[j] = str[i];
            j++;
          }
        }
        if (j > 0)
        {
          strcpy(str, tempStr);
        }
      }
      free(tempStr);
      tempStr = NULL;
    }
  }
  return errorCode;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
10240 / 6132 / 1542
Регистрация: 25.07.2009
Сообщений: 11,671
06.02.2015, 20:40 3
Лучший ответ Сообщение было отмечено бутафор как решение

Решение

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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
char * remove_if(char * str, int (*func)(int)) {
    char * s = str;
    
    while ( *s ) {
        if ( func(*s) )
            memmove(s, s + 1, strlen(s));
        else
            ++s;
    }
    
    return str;
}
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        printf("Result: %s", ( strlen(buf) > 5 + 1 /* '\n' at the end of string */ ) ? remove_if(buf, isalpha) : buf);
    
    return 0;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2015, 20:40

Файлы. Переписать все строки в новый файл, заменив все буквы 'м' на 'М'
Помогите написать программу. Язык С. Файлы. Задание: Переписать все строки в новый файл, заменив...

Удалить латинские буквы из строки
вот задание. строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся символов,...

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


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

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

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