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

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

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

Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами - C++

06.04.2011, 10:24. Просмотров 988. Ответов 13
Метки нет (Все метки)

Создать массив из 20 символьных значений. Сформировать из его значений другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2011, 10:24     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами
Посмотрите здесь:
Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки C++
C++ Сформировать другой массив, в который поместить сначала числа меньшие среднего арифметического значения этого массива, затем – большие.
Преобразовать массив следующим образом: сначала должны стоять цифры, входящие в массив, а затем все остальные символы C++
C++ Получить новый массив, в котором сначала идут положительные числа, затем нулевые, затем отрицательные исходного
C++ Переписать в массив B сначала отрицательные, а затем положительные элементы исходного массива
C++ Получить массив, расположив в его начале элементы массива A, а затем — элементы массива B
Задан Массив из N и M Чисел соответственно. Получить объединенный массив, включив в него сначала элементы первого массива, а затем второго C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:27     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #2
К сожалению тут привязка к ASCII таблице, особо помочь не смогу
Могу только задать направление мысли
hoholnn
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:33  [ТС]     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #3
не, я с этой темой плохо, поэтому даже натолкнуть и то не поможет, но все равно спасибо.
Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:37     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #4
Для начала выполни вот такое
C++
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
 
int main() {
    for (int i=0;i<256;i++)
        cout << "Символ " << (char) i << " имеет номер " << i + 1 << endl;
}
И напиши мне диапазоны номеров символов, числовые номера, буквенные и остальных символов
hoholnn
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:42  [ТС]     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #5
всё что есть и заданно, написанно в задании.....
Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:44     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #6
ТОсле того как скомпилишь у тебя будет распечатка на каком месте какой символ стоит, у меня просто немного по другому, напиши с какого номера начинаются цифры и с какого буквы.
hoholnn
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:49  [ТС]     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #7
чисто теоретически мне без разницы. все на ваше усмотрение
Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:53     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #8
Но тебе нужно подставить свои диапазоны...
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
#include <iostream>
using namespace std;
 
int main() {
    const int size=20;
    char ar[size];
    char arnew[size];
    int index=0;
    cout<<"Введите ваши символы\n";
    for(int i=0;i<size;i++)
        cin>>ar[i];
    cout<<"Введенные вами символы :\n";
    for(int i=0;i<size;i++)
        cout<<ar[i]<<" ";
    cout<<endl;
    for(int i=0;i<size;i++)
        if(((int)ar[i]>10)&&((int)ar[i]<20)){
            arnew[index]=ar[i];
            index++;
        }
    for(int i=0;i<size;i++)
        if(((int)ar[i]>21)&&((int)ar[i]<40)){
            arnew[index]=ar[i];
            index++;
        }
    for(int i=0;i<size;i++)
        if(((int)ar[i]>41)&&((int)ar[i]<81)||(((int)ar[i]<10)&&((int)ar[i]>0))){
            arnew[index]=ar[i];
            index++;
        }
    cout<<"ОТсортированные символы :\n";
    for(int i=0;i<size;i++)
        cout<<ar[i]<<" ";
    cout<<endl;
 
 
}
hoholnn
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:55  [ТС]     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #9
спсибо большое, ща посмотрю ))
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
06.04.2011, 11:12     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #10
всё в одном массиве
C++
1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
#include<algorithm>
#include<cctype>
 
int main(){
    char text[]="yH6&g%\\G%3f*v44@ 4VB";
    std::sort(text, text+sizeof(text), [](char a, char b){
              return (isdigit(a)&&(!isdigit(b))||isalpha(a)&&(!isalnum(b)));
              });
    std::cout<<text<<"\n";
}
Pips
0 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 6
06.04.2011, 11:14     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #11
а можтщ сделать так чт бы он рандомно выдавал символы
Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 11:23     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #12
С рандомом мой вариант
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
int main() {
    srand(time(NULL));
    const int size=20;
    char ar[size];
    char arnew[size];
    int index=0;
    for(int i=0;i<size;i++)
       ar[i]=(char)rand();
    cout<<"Ваш массив :\n";
    for(int i=0;i<size;i++)
        cout<<ar[i]<<" ";
    cout<<endl;
    for(int i=0;i<size;i++)
        if(((int)ar[i]>10)&&((int)ar[i]<20)){
            arnew[index]=ar[i];
            index++;
        }
    for(int i=0;i<size;i++)
        if(((int)ar[i]>21)&&((int)ar[i]<40)){
            arnew[index]=ar[i];
            index++;
        }
    for(int i=0;i<size;i++)
        if(((int)ar[i]>41)&&((int)ar[i]<81)||(((int)ar[i]<10)&&((int)ar[i]>0))){
            arnew[index]=ar[i];
            index++;
        }
    cout<<"ОТсортированные символы :\n";
    for(int i=0;i<size;i++)
        cout<<ar[i]<<" ";
    cout<<endl;
 
 
}
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
06.04.2011, 11:47     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #13
нашёл у себя ошибку. Похоже что sizeof(text) на единицу длиннее чем strlen(text), поэтому вот эту строку: text+sizeof(text) придётся укоротить: text+sizeof(text)-1.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2011, 11:59     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами
Еще ссылки по теме:
C++ Задан Массив из N и M Чисел соответственно. Получить объединенный массив, включив в него сначала элементы первого массива, а затем второго
Массив В [1...40] заполнить следущим образом: сначала три элемента из массива А, а затем записать их среднее арефметическое C++
Из массива JJ(100) в массив NN(100) перенести числа (элементы массива) сначала нечетные, а затем четные. C++
Записать в другой файл сначала отрицательные элементы, а затем положительные C++
Сформировать новую строку, расположив в ее начале самое короткое слово, затем самое длинное, и все остальные C++

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
06.04.2011, 11:59     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами #14
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 <sstream>
using namespace std;
 
bool isDigit(char ch)
{   if(ch>='0' && ch<='9')
        return true;
    return false;
}
 
bool isLetter(char ch)
{   if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))
        return true;
    return false;
}
 
int main()
{   int i,j;
    char str[80], result[80];
    cout<<"Your string:\n";
    cin.getline(str,80);
 
    for(i=0,j=0;i<strlen(str);i++)
        if(isDigit(str[i]))
        {   result[j]=str[i];
            j++;
        }
    for(i=0;i<strlen(str);i++)
        if(!isDigit(str[i]) && isLetter(str[i]))
        {   result[j]=str[i];
            j++;
        }
    for(i=0;i<strlen(str);i++)
        if(!isDigit(str[i]) && !isLetter(str[i]))
        {   result[j]=str[i];
            j++;
        }
    result[j]='\0';
    cout<<"Result:\n"<<result<<"\n";
    
    cin.sync(); cin.get();
    return 0;
}
Миниатюры
Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами  
Yandex
Объявления
06.04.2011, 11:59     Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами
Ответ Создать тему
Опции темы

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