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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужны разъяснения по функции http://www.cyberforum.ru/cpp-beginners/thread726873.html
Имеется функция: #include "stdafx.h" #include <cstdlib> #include <iostream> #include <vector> using namespace std; int* find(const vector<int> &vec, int value)
C++ Преобразование в char Добрый вечер. Как сделать, чтобы работало: fstream outStream; double z, dz; ... outStream.open("points/" + (char)(z/dz) + ".txt", ios::out);? Добавлено через 23 часа 54 минуты Никто не знает? http://www.cyberforum.ru/cpp-beginners/thread726863.html
C++ сортировка одномерного массива по возрастанию и убыванию
одномерный массив из N элементов преобразовать так,чтобы в первой половине элементы были упорядочены по возрастанию, а во второй - по убиванию. #include <vcl.h> #include <iostream.h> #include...
Программирование с использованием подпрограмм общего вида C++
Вот эта задача: Заданы матрицы A= (i=1, 2, 3; j=1, 2, 3), B= (i=1, 2, 3; j=1, 2, 3), то есть матрицы А и В - 3x3. Расставить в порядке возрастания элементы в главных диагоналях каждой матрицы....
C++ Все элементы, которые при целочисленном делении на N дают ненулевое значение, увеличить на M http://www.cyberforum.ru/cpp-beginners/thread726818.html
И ещё одну) Кому не сложно) Ввести двумерный массив {A}_{NxM}. Все элементы, которые при целочисленном делении на N дают ненулевое значение, увеличить на M. Массив вывести до и после...
C++ Помогите реализовать список строк и написать функции для подсчета количества слов в списке Задача: Реализуйте список строк. Напишите функции для подсчета количества слов в списке: а. начинающихся и оканчивающихся одной и той же буквой б. начинающихся с той же буквы, что и... подробнее

Показать сообщение отдельно
WildSpirit
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8

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

10.12.2012, 22:30. Просмотров 829. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru