Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
FaithSpirit
1 / 1 / 0
Регистрация: 15.11.2010
Сообщений: 17
#1

строки и массивы - C++

15.02.2011, 23:48. Просмотров 371. Ответов 7
Метки нет (Все метки)

задание - написать программу, которая удаляет все цифры из строки


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std; 
int main()
{
 char i=0;
 char j=0;
 char S1[255];
 char S2[255];
 cin>>S1;
 for (int i=0; i<strlen(S1);i++)
 if (i>isdigit(S1[i]!=0))
  S2[j]=S1[i];
  j++;
  cout<<S2;
 return 0;
}

нужен второй массив , в который будет записыватся новая строка без цифр.
выдаёт ошибки, нужна помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 23:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос строки и массивы (C++):

Массивы и строки - C++
Люди помогите решить плиз:wall: Массивы: 1) Написать программу, которая вводит с клавиатуры двумерный массив и вычисляет сумму...

Массивы и строки - C++
Помоги пожалуйста написать программу.ТЗ:Написать программу,коротая выводит с клавиатуры массив из 10 целых чисел,считает среднее...

Массивы, строки (на С++) - C++
1ое задание: Вычислить величину (x0y0 + x2y2 + … + x30y30)/( x1y1+ x3y3 + … + x29y29) 2ое задание: Даны 6-элементные...

Массивы и строки - C++
Здравствуйте, у меня есть просьба ко всем программистам владеющим С++. У меня сейчас такое положение, что если завтра (6.02.10) я не сдам...

массивы, строки с++ - C++
помогите пожалуйста! 1. (одномерные массивы) Найти сумму элементов массива, расположенных после минимального элемента. Ввод исходных...

Строки и массивы - C++
Дана строка с текстом и пустой массив.(Например в строке такой текст: programmer programmer,programmer;programmer ). Необходимо...

7
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2011, 00:12 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    char S1[255];
    char S2[255];
    std::cin >> S1;
    int j = 0;
    for(int i = 0; i < strlen(S1); i++)
       if(S1[i] < '0' || S1[i] > '9')
       {
       S2[j]=S1[i];
       j++;
       }
    S2[j] = '\0';
    std::cout << S2;
    std::getchar();
    return 0;
}
1
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
16.02.2011, 00:16 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
 
#define STRING_SIZE 256
 
int main()
{
    int i;
    char src[STRING_SIZE] = "digit1234erase567689";
    char dst[STRING_SIZE] = { 0 };
    char *p = dst;
 
    for(i = 0; i < STRING_SIZE && src[i] != '\0'; ++i) {
        if(!isdigit(src[i])) {
            *p++ = src[i];
        }
    }
 
    printf("source: %s\ndest: %s\n", src, dst);
    return 0;
}
1
FaithSpirit
1 / 1 / 0
Регистрация: 15.11.2010
Сообщений: 17
16.02.2011, 00:24  [ТС] #4
Цитата Сообщение от Maxwe11 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    char S1[255];
    char S2[255];
    std::cin >> S1;
    int j = 0;
    for(int i = 0; i < strlen(S1); i++)
       if(S1[i] < '0' || S1[i] > '9')
       {
       S2[j]=S1[i];
       j++;
       }
    S2[j] = '\0';
    std::cout << S2;
    std::getchar();
    return 0;
}
вопрос - почему меньше 0 и больше 9 ???
и ещё , как бы это выглядело с подключённой using namespace std ?
Спасибо.

Добавлено через 2 минуты
Цитата Сообщение от fasked Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
 
#define STRING_SIZE 256
 
int main()
{
    int i;
    char src[STRING_SIZE] = "digit1234erase567689";
    char dst[STRING_SIZE] = { 0 };
    char *p = dst;
 
    for(i = 0; i < STRING_SIZE && src[i] != '\0'; ++i) {
        if(!isdigit(src[i])) {
            *p++ = src[i];
        }
    }
 
    printf("source: %s\ndest: %s\n", src, dst);
    return 0;
}

Это слишком сложно) Но всёравно спс)
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
16.02.2011, 00:25 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(){
    char mas[255], *a=mas;
    int i;
    gets(mas);
    for (i=0; i<strlen(mas); i++, a++){
        if(isdigit(mas[i])) continue;
        else *a=mas[i];
        putchar(*a);
    }
    return 0;
}
1
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2011, 00:37 #6
Цитата Сообщение от FaithSpirit Посмотреть сообщение
вопрос - почему меньше 0 и больше 9 ???
потому что ASCII коды символов 0...9 не соответсвуют самим цифрам
1
Escapable
54 / 54 / 1
Регистрация: 09.11.2010
Сообщений: 120
16.02.2011, 01:06 #7
Цитата Сообщение от FaithSpirit Посмотреть сообщение
как бы это выглядело с подключённой using namespace std ?
Прописываем using namespace std; и убираем приписку std::.
0
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,847
16.02.2011, 01:48 #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <ctype.h>
 
int main(void){
    char in[BUFSIZ], out[BUFSIZ], * pIn, * pOut;
    
    while ( printf("String: ") && scanf("%[^\n]%*c", in) == 1 ){
        for ( pIn = in, pOut = out; isdigit(*pIn) || ( *pOut++ = *pIn ); ++pIn )
            ;
        printf("Result: %s\n", out);
    }
    
    return 0;
}
0
16.02.2011, 01:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2011, 01:48
Привет! Вот еще темы с ответами:

Массивы. Строки. - C++
1)Дан массив размера а(четное число). Поменять местами 1 и 2 половины массива. 2) Дана матрица MxN. Найти кол-во её строк, элементы...

Массивы и строки - C++
Здравствуйте! тут вот в задаче проблема есть. Задание состоит в следующем: нужно прочесть из файла последовательность чисел и эти числа...

массивы и строки - C++
Ввести строку. Выяснить сколько раз в строке встречается буква &quot;а&quot;?в каком по счёту слове.

Массивы и строки ... - C++
Помогите пожалуйста решить задачу ... 1) В поезде 18 вагонов, в каждом из которых 36 мест. Информация о проданных на поезд билетах...


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

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

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