Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30

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

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

Студворк — интернет-сервис помощи студентам
Создать массив из 20 символьных значений. Сформировать из его значений другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2011, 10:24
Ответы с готовыми решениями:

Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки
Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки. : a - указатель исходной стpоки

Преобразовать массив, расположив сначала отрицательные, затем положительные, а затем нулевые элементы
Помогите сделать программу где нужно : Преобразовать массив, расположив сначала отрицательные, затем положительные, а затем нулевые...

Отсортировать массив так, чтобы в нем сначала шли буквы латинского алфавита, затем цифры и, в конце, остальные элементы
Задан символьный массив размера N. Отсортировать массив так, чтобы в нем сначала шли буквы латинского алфавита, затем цифры и, в конце,...

13
 Аватар для Fafle
34 / 34 / 9
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:27
К сожалению тут привязка к ASCII таблице, особо помочь не смогу
Могу только задать направление мысли
1
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:33  [ТС]
не, я с этой темой плохо, поэтому даже натолкнуть и то не поможет, но все равно спасибо.
0
 Аватар для Fafle
34 / 34 / 9
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:37
Для начала выполни вот такое
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;
}
И напиши мне диапазоны номеров символов, числовые номера, буквенные и остальных символов
1
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:42  [ТС]
всё что есть и заданно, написанно в задании.....
0
 Аватар для Fafle
34 / 34 / 9
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:44
ТОсле того как скомпилишь у тебя будет распечатка на каком месте какой символ стоит, у меня просто немного по другому, напиши с какого номера начинаются цифры и с какого буквы.
0
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:49  [ТС]
чисто теоретически мне без разницы. все на ваше усмотрение
0
 Аватар для Fafle
34 / 34 / 9
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 10:53
Но тебе нужно подставить свои диапазоны...
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;
 
 
}
1
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 30
06.04.2011, 10:55  [ТС]
спсибо большое, ща посмотрю ))
0
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,755
Записей в блоге: 9
06.04.2011, 11:12
всё в одном массиве
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";
}
0
0 / 0 / 0
Регистрация: 06.04.2011
Сообщений: 6
06.04.2011, 11:14
а можтщ сделать так чт бы он рандомно выдавал символы
0
 Аватар для Fafle
34 / 34 / 9
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 11:23
С рандомом мой вариант
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;
 
 
}
0
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,755
Записей в блоге: 9
06.04.2011, 11:47
нашёл у себя ошибку. Похоже что sizeof(text) на единицу длиннее чем strlen(text), поэтому вот эту строку: text+sizeof(text) придётся укоротить: text+sizeof(text)-1.
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
06.04.2011, 11:59
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;
}
Миниатюры
Сформировать из значений массива другой массив, расположив в нем сначала цифры, затем – буквы, затем - символы, не являющихся ни буквами, ни цифрами  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2011, 11:59
Помогаю со студенческими работами здесь

Используя один просмотр текстового файла, вывести сначала содержащиеся в нем цифры, а затем остальные символы
Здравствуйте, сегодня на паре посоветовали обратиться на этот сайт за помощью. В понедельник последний день получения допуска, мне нужно...

Используя один просмотр текстового файла, вывести сначала содержащиеся в нем цифры, затем остальные символы.
Указатели: 1) Используя один просмотр текстового файла, вывести сначала содержащиеся в нем цифры, затем остальные символы. (нужно...

Изменить входную строку, чтобы в нем сначала были записаны буквы, потом знаки препинания, а затем цифры
Изменить входную строку таким образом, чтобы в нем сначала были записаны буквы, потом знаки препинания, а затем цифры.

Сформировать новый массив в котором идут сначала отрицательные элементы, затем нули, затем положительные
Здравствуйте! Помогите пожалуйста! Задание: Дан массив из 10 чисел. Нужно сформировать новый массив в котором сначала идут...

Сформировать другой массив, в который поместить сначала числа меньшие среднего арифметического значения этого массива, затем – большие.
Дан целочисленный массив, состоящий из 15 элементов. Сформировать другой массив, в который поместить сначала числа меньшие среднего...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru