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

Удаление цифр из символьной строки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
vigo_1603
 Аватар для vigo_1603
3 / 3 / 2
Регистрация: 03.06.2010
Сообщений: 52
25.09.2010, 22:08     Удаление цифр из символьной строки #1
Доброго всем времени суток Такая задача: на языке C нужно составить программу удаления из строки символов только цифры. Например, строка "dfg546sv435", должно получиться "dfgsv". Поможете?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2010, 22:08     Удаление цифр из символьной строки
Посмотрите здесь:

C++ Обработка символьной строки
C++ функция символьной строки
Определить класс символьной строки C++
Обработка символьной строки C++
шифрование и дешифрование символьной строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
25.09.2010, 22:15     Удаление цифр из символьной строки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstdio>
using namespace std;
 
int main(){
  const char* str = "dfg546sv435";
  for( ;*str;++str ){ 
    if( isalpha(*str) ){ 
      cout << *str; 
    }
  }
}
vigo_1603
 Аватар для vigo_1603
3 / 3 / 2
Регистрация: 03.06.2010
Сообщений: 52
25.09.2010, 22:19  [ТС]     Удаление цифр из символьной строки #3
неееееет, мне надо не на C++, а именно на C)
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
25.09.2010, 22:22     Удаление цифр из символьной строки #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <ctype.h>
 
int main(){
  const char* str = "dfg546sv435";
  for( ;*str;++str ){ 
    if( isalpha(*str) ){ 
      printf("%c", *str ); 
    }
  }
  printf("\n");
  return 0;
}
дада, не дочитал
vigo_1603
 Аватар для vigo_1603
3 / 3 / 2
Регистрация: 03.06.2010
Сообщений: 52
25.09.2010, 22:26  [ТС]     Удаление цифр из символьной строки #5
спасибо большое)
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.09.2010, 22:41     Удаление цифр из символьной строки #6
Цитата Сообщение от alex_x_x Посмотреть сообщение
if( isalpha(*str) ){
Цитата Сообщение от vigo_1603 Посмотреть сообщение
нужно составить программу удаления из строки символов только цифры.
лучше
C
1
2
3
...
if ( ! isdigit(*str) )
...
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
25.09.2010, 22:45     Удаление цифр из символьной строки #7
да, пожалуй пример автора ввел меня в заблуждение
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.09.2010, 06:58     Удаление цифр из символьной строки #8
первый вариант оставит только буквы, а это значит, что и пунктуацию удалит
vigo_1603
 Аватар для vigo_1603
3 / 3 / 2
Регистрация: 03.06.2010
Сообщений: 52
26.09.2010, 13:09  [ТС]     Удаление цифр из символьной строки #9
и еще, можно ли как-то составить программу без использования функций типа isalpha, isdigit и т.д. ?
если да, то поделитесь плиз)
CoffeeTurbo
 Аватар для CoffeeTurbo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 17
26.09.2010, 14:19     Удаление цифр из символьной строки #10
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
#include <iostream>
using namespace std;
int main()
{
    const char* str1="dfs222h234";
    for(;*str1;++str1)
    {
        
        if(*str1!='0')
            if(*str1!='1')
                if(*str1!='2')
                    if(*str1!='3')
                        if(*str1!='4')
                            if(*str1!='5')
                                if(*str1!='6')
                                    if(*str1!='7')
                                        if(*str1!='8')
                                            if(*str1!='9')
                                                cout<<*str1;
 
 
    }
    cin.get();
    cin.get();
    return 0;
}
а счётчик что-то не смог настроить((
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
26.09.2010, 14:26     Удаление цифр из символьной строки #11
CoffeeTurbo, *ROFL*
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <ctype.h>
 
int main(){
  const char* str = "dfg546sv435";
  char c;
  for( ;c=*str;++str ){ 
    if( c>='A' && c<='Z' || c>='a' && c<='z' ){ 
      printf("%c", c ); 
    }
  }
  printf("\n");
  return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.09.2010, 16:17     Удаление цифр из символьной строки #12
Цитата Сообщение от vigo_1603 Посмотреть сообщение
можно ли как-то составить программу без использования функций типа isalpha, isdigit и т.д. ?
C
1
2
3
...
if ( *str < '0' || *str > '9' )
...
зачем только?

Добавлено через 55 секунд
Цитата Сообщение от alex_x_x Посмотреть сообщение
if( c>='A' && c<='Z' || c>='a' && c<='z' ){
опять "Прощайте, точки с запятыми"...
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
26.09.2010, 16:19     Удаление цифр из символьной строки #13
не могу запомнить задание
vigo_1603
 Аватар для vigo_1603
3 / 3 / 2
Регистрация: 03.06.2010
Сообщений: 52
26.09.2010, 16:24  [ТС]     Удаление цифр из символьной строки #14
а если строка - это массив символов, например str[50]?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
26.09.2010, 16:33     Удаление цифр из символьной строки #15
Цитата Сообщение от alex_x_x Посмотреть сообщение
if( c>='A' && c<='Z' || c>='a' && c<='z' ){
C
1
if( c<'0' || c>'9' )
Цитата Сообщение от vigo_1603 Посмотреть сообщение
а если строка - это массив символов, например str[50]?
аналогично, возможно надо будет
C
1
2
char _str[50] = "dfg546sv435";
char* str = &_str[0];
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.09.2010, 16:40     Удаление цифр из символьной строки #16
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 <ctype.h>
 
#define STR_LEN 64
 
int main(void){
    char inStr[STR_LEN], outStr[STR_LEN], * pIn, * pOut;
    
    printf("String: ");
    if ( ! fgets(inStr, STR_LEN, stdin) )
        return 1;
    pOut = outStr;
    for ( pIn = inStr; *pIn; ++pIn )
        if ( ! isdigit(*pIn) )
            *pOut++ = *pIn;
    *pOut = '\0';
    printf("Without digits: %s", outStr);
 
    return 0;
}
vigo_1603
 Аватар для vigo_1603
3 / 3 / 2
Регистрация: 03.06.2010
Сообщений: 52
26.09.2010, 17:22  [ТС]     Удаление цифр из символьной строки #17
спасибо, но я вот составил такой код:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# include <stdio.h>
# include <stdlib.h>
# include <conio.h>
# include <ctype.h>
# include <string.h>
main ()
{
char str[50],str2[50];
int i,j,k,lstr;
clrscr ();
printf ("vvedite vashu stroku: ");
gets (str);
lstr=strlen (str);
for(i=0; i<=lstr-1; i++)
for(j='0'; j<='9'; j++)
{
if (str[i]==j)
{str[i]=  ;}
}
printf ("vasha stroka: ");
puts (str);
return 0;
}
но не знаю что присвоить str[i] вот здесь:

if (str[i]==j)
{str[i]=...;}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2010, 03:59     Удаление цифр из символьной строки
Еще ссылки по теме:

Удаление определенных цифр из строки C++
C++ Производит поиск цифр в символьной строке С++
Записать все слова символьной строки, чтобы каждое слово было с новой строки, и в отдельной переменной C++

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

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
27.09.2010, 03:59     Удаление цифр из символьной строки #18
Цитата Сообщение от vigo_1603 Посмотреть сообщение
и еще, можно ли как-то составить программу без использования функций типа isalpha, isdigit и т.д. ?
если да, то поделитесь плиз)
можно определить массив удаляемых символов и делать strchr(array, s[i]);
Yandex
Объявления
27.09.2010, 03:59     Удаление цифр из символьной строки
Ответ Создать тему
Опции темы

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