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

Преобразуйте эту строчку так, чтобы сначала в ней шли цифры, а потом - все буквы исходной строчки...

10.12.2012, 22:30. Показов 1550. Ответов 1
Метки нет (Все метки)

Условие: дана строчка, которая содержит буквы и цифры. Преобразуйте эту строчку так, чтобы сначала в ней шли цифры, а потом - все буквы исходной строчки. Возможные символы - цифры; прописные и строчные латинские буквы.

Сделал так:
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
#include <iostream>
#include <stdio.h>
 
int main()
{
    using namespace std;
    char *string;
    char *letters;
    char *numbers;
    int k,j,i, N=32;
    
    string = (char*) malloc(N);
    letters = (char*) malloc(N);
    numbers = (char*) malloc(N);
 
    fgets(string,N,stdin);
 
    for(i = 0, j = 0, k = 0; string[i] != '\0'; i++)
    {
        if((string[i] >= 'a' && string[i] <= 'z') ||
           (string[i] >= 'A' && string[i] <= 'Z'))
        {
            letters[j] = string[i];
            j++;
        }
        else if(string[i] >= '0' && string[i] <= '9')
        {
            numbers[k] = string[i];
            k++;
        }
    }
 
    letters[j]='\0';
    numbers[k]='\0';
 
    printf("%s",numbers);
    printf("%s",letters);
    
    delete[]numbers;
    delete[]letters;
    delete[]string;
    return 0;
}
Программа почему-то не работает, если N вводить с клавиатуры. Почему так? О_о Размер массива по условию должен вводиться пользователем. Еще нужно сделать, чтобы если длина введенной строки меньше, чем размер массива, то нужно изменить количество памяти, выделенной под массив. Как это сделать?
Как вывести недопустимый символ? В тот цикл можно дописать else, но как вывести первый недопустимый символ?
И как сделать конкатенацию без использования strcat?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2012, 22:30
Ответы с готовыми решениями:

Преобразуйте строку так, чтобы сначала в ней шли все буквы исходной строки
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку чтобы сначала в ней шли все буквы...

Преобразовать строку так, чтобы сначала в ней шли все цифры исходной строки, а потом – все буквы исходной строки, но в обратном порядке
1)Даны сведения о 8 фильмах: название, режиссер, страна, год выпуска, стоимость(расходы на выпуск),...

Преобразовать строку так, чтобы сначала в ней шли все буквы, а потом – все цифры
Имеется строка, содержащая буквы и цифры. Преобразовать строку так, чтобы сначала в ней шли все...

Преобразовать строку так, чтобы сначала шли цифры, а затем все буквы исходной строки, но в обратном порядке
1)Дана строка,содержащая буквы и цифры.Преобразовать строку так,что бы сначала шли цифры,а затем...

1
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8
11.12.2012, 22:53  [ТС] 2
Проблема актуальна.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2012, 22:53
Помогаю со студенческими работами здесь

В строке заданы буквы и цифры. Преобразовать строку так, чтобы в ней сначала шли цифры, отсортированные по убыванию
В строке заданы буквы и цифры. Преобразовать строку так, чтобы в ней сначала шли цифры,...

Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры
Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры, не...

Преобразовать массив так, чтобы сначала шли все элементы с вещественной частью, а потом без неё
3. Создать массив из 10 вещественных чисел. Преобразовать массив так, чтобы сначала шли все...

Преобразовать слово P так, чтобы сначала шли все чётные цифры (0 и 2), а затем – все нечётные
3. A={0,1,2,3}. Преобразовать слово P так, чтобы сначала шли все чётные цифры (0 и 2), а затем –...


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

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

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