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

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

Войти
Регистрация
Восстановить пароль
 
Слава Кондратье
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 75
#1

динамические массивы - C++

27.03.2013, 20:32. Просмотров 298. Ответов 2
Метки нет (Все метки)

Здравствуйте,
Посмотрите ,пожалуйста,задачу!



Задание(общая схема алгоритма)
1.Запросить у пользователя максимально возможную по условиям задачи длину LenMax строки.
2.Создать динамический символьный массив данного размера(LenMax).
3.Запросить у пользователя исходную строку и записать ее в массив,созданный в п. 2.
4.Если длина введенной строки меньше LenMax,изменить количество памяти,выделенной под массив п.2(уменьшить размер массива,можно при помощи функции realloc).Выполнить действия , необходимые для решение задачи.
Задача:
Имеется строка,содержащая буквы и цифры.Преобразуйте эту строку так,чтобы сначала в ней шли все цифры исходной строки,а потом-все буквы исходной строки,но в обратном порядке.
Допустимые символы-цифры;прописные и строчные латинские буквы.
Примеры:
Исходная строка Результат
ad2e57b6 2576beda
Kozloff. Недопустимый символ - ' . '



СПАСИБО!!!!!!!!!!!!!!!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 20:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос динамические массивы (C++):

Динамические массивы и функции. Динамические массивы. - C++
Дана матрица 6х8 целого типа. Создать одномерный массив, содержащий элементы матрицы, кратные числу, введенному с клавиатуры.

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

динамические массивы - C++
помогите разобраться с динамическими массивами . Надо составить программу которая: Изменяла порядок следования элементов массива на...

Динамические массивы. - C++
Знаю глупый вопрос, но подскажите пожалуйста. как в С++ динамечески задать двумерный строковый массив char. Чтобы работал и с миллионами...

Динамические массивы - C++
Объясните пожалуйста что такое динамические массивы. Это массивы с не константным количеством элементов? Если так, то как их объявлять?

Динамические массивы - C++
Здравствуйте. Задание следующее: Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать. ...

2
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,132
27.03.2013, 21:43 #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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main()
{
    int LenMax;
    cout<<"Введите длинну строки"<<endl;
    cin>>LenMax;
    cin.get();
 
    char * arr= new char[LenMax];
    char * arr1;
    cout<<"Введите строку"<<endl;
    cin.getline(arr,LenMax);
 
    if(strlen(arr)<LenMax) {
        int i=0;
        arr1=new char[strlen(arr)];
           while(arr[i]!='\0'){
               arr1[i]=arr[i];
               i++;
           }
 
           arr1[strlen(arr)]='\0';
           delete []arr;
           arr=NULL;
 
    }
 
    cout<<arr1<<endl;
    cout<<strlen(arr1)<<endl;
 
    char * abc=(char*)"qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
    char * num=(char*)"0123456789";
 
    int count=0,count1=0;
 
    for(int k=0;k<strlen(arr1);k++)
        for(int j=0;j<strlen(abc);j++)
            if(arr1[k]==abc[j]) count++;
 
    for(int k=0;k<strlen(arr1);k++)
        for(int j=0;j<strlen(num);j++)
            if(arr1[k]==num[j]) count1++;
 
    char * str=new char[count];
    char * str1=new char[count1];
    char * str2=new char[count];
    char * str3=new char[count1];
 
    int a=0;
    for(int k=0;k<strlen(arr1);k++)
        for(int j=0;j<strlen(abc);j++)
            if(arr1[k]==abc[j]) { str[a]=arr1[k]; a++; }
    int b=0;
    for(int k=0;k<strlen(arr1);k++)
        for(int j=0;j<strlen(num);j++)
            if(arr1[k]==num[j]) { str1[b]=arr1[k]; b++; }
 
    str[count]='\0';
    str1[count1]='\0';
 
    cout<<str<<endl;
    cout<<str1<<endl;
 
    for(int k=count-1,n=0;k>=0;k--,n++)
        str2[n]=str[k];
    for(int k=count1-1,n=0;k>=0;k--,n++)
        str3[n]=str1[k];
    str2[count]='\0';
    str3[count1]='\0';
 
    char * res=new char[count+count1-1];
    for(int k=0;k<count1;k++)
        res[k]=str3[k];
    for(int k=count1,n=0;k<count+count1;k++,n++)
        res[k]=str2[n];
 
    res[count+count1]='\0';
 
    delete []arr1;
    arr1=NULL;
    delete []str;
    str=NULL;
    delete []str1;
    str1=NULL;
    delete []str2;
    str2=NULL;
    delete []str3;
    str3=NULL;
 
    cout<<res<<endl;
 
    delete []res;
    res=NULL;
 
 
    return 0;
}
можно при помощи функции realloc)
Забудь эту гадость
0
Слава Кондратье
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 75
30.03.2013, 17:38  [ТС] #3
спасибка,когда строку длинную вводишь цифры тоже в обратном порядке выдает)

Добавлено через 21 час 48 минут
а если не сложно можете объяснить строчки . пожалуйста
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2013, 17:38
Привет! Вот еще темы с ответами:

Динамические массивы: - C++
Найти максимальный элемент матрицы.

Динамические массивы - C++
Нужно создать массив из строк string, причем их количество заранее неизвестно (и вбить их значение заранее тоже нельзя). Кто-нибудь...

Динамические массивы - C++
1. Добавить после каждого четного элемента элемент со значением 0 2. Добавить столбец в конец матрицы :-[пожалуйста

Динамические массивы - C++
Добрый вечер, у меня в программе есть динамический массив, в котором, если записать туда &gt;20 элементов, все элементы перемешиваются, но...


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

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

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