maxix
(maxim)
09.Декабрь.2020 17:00:47
#1
Я сделал 1 с трудом, но не имею понятия как сделать ещё 2 разные сортировки
Вот сам код:
#include "iostream"
#include "algorithm"
#include "ctime"
#include "cstdlib"
#include "cctype"
using namespace std;
int main() {
int mass, nb, nc;
setlocale(LC_ALL, "RU");
cout << "Введите число от которого будет выбран диапазон: ";
cin >> mass; char*
a = new char[mass]; ; srand(time(NULL));
for (int i = 0; i < mass; i++)a[i] = rand() % 234 + 21, cout << a[i] << ' '; cout << endl;
nb = count_if(a, a + mass, [](char i) {return isupper(i); });
nc = count_if(a, a + mass, [](char i) {return islower(i); });
char* b = new char[nb];
for (int i = 0, j = 0; i < mass; i++)
if (isupper(a[i]))b[j++] = a[i];
char* c = new char[nc];
for (int i = 0, j = 0; i < mass; i++)if (islower(a[i]))c[j++] = a[i];
sort(b, b + nb);
for (int i = 0; i < nb; i++)cout << b[i] << ' '; cout << endl;
sort(c, c + nc);
for (int i = 0; i < nc; i++)cout << c[i] << ' '; cout << endl;
delete[]a; delete[]b; delete[]c;
system("pause >> NUL");
return 0;
}
AlexP
(Alex P.)
09.Декабрь.2020 17:02:30
#2
В каком смысле разные?
Какая задача?)
maxix
(maxim)
09.Декабрь.2020 17:06:22
#3
ну просто сделать ещё 2 сортировки. А задача :
Из исходного массива символов, заполненного случайным образом символами с кодами в диапазоне от 21 до 254, выделить в отдельные массивы буквы латинского алфавита, как заглавные, так и прописные. Произвести сортировку полученных массивов. Для контроля результата сделать распечатку массивов, в том числе исходного.
Сделав в программе 3 разные сортировки
AlexP
(Alex P.)
09.Декабрь.2020 17:45:46
#4
maxix
(maxim)
09.Декабрь.2020 17:48:14
#5
Да читал я их и видео смотрел. Ну не понимаю я эти масссивы вообще никак. Прошу если можешь помоги пожалуйста. Ну я всё перепробовал
AlexP
(Alex P.)
09.Декабрь.2020 21:45:43
#6
Так а чего там делать, скопировать функцию и вызвать аналогично как сейчас sort
)
Один большой и ключевой вопрос. Вы каким чудом оказались в программировании??
maxix:
Ну я всё перепробовал
Покажите что пробовали?
maxix
(maxim)
10.Декабрь.2020 05:12:10
#8
Я только учусь и не понимаю многое. Мне бы сделать ещё 2 сортировки, но я не могу((
maxix
(maxim)
10.Декабрь.2020 05:48:13
#10
Я же писал по поводу того, что я не понимаю их. Я уже и читал про них и видео смотрел ну никак они не лезут
AlexP
(Alex P.)
10.Декабрь.2020 07:55:55
#11
Так говорю ж, они сделаны уже давно в википедии и других материалах, достаточно скопировать и вызвать )
А что именно про массивы непонятно?
Возможно, тут сложность в том, что сразу начали с продвинутых фич С++ (count_if, …) до понимания основ.
https://metanit.com/cpp/tutorial/2.15.php
https://ravesli.com/urok-76-massivy-i-tsikly/
По-моему в задаче не просили вводить размер массива, 21-254 это его значения.
Наверно можно было создать статический массив любого константного размера, чтобы немного упростить задачу.
const int SIZE = 20;
char a[SIZE];
for (int i = 0; i < SIZE; i++) ...