Вот весь код, подскажите пожалуйста на каком этапе ломается читаемость и как это исправить?
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cctype>
#include <cstring>
using namespace std;
int Comp1(const void* a, const void* b);
int Comp2(const void* a, const void* b);
int main(int argc, char** argv)
{
srand(time(0));
char mass1[31];
char mass2[51];
int temp = 0;
int new_size1 = 0;
int new_size2 = 0;
int *nums = new int [new_size1];
char *symbs = new char [new_size2+1];
for (int i=0; i<30; i++) //рандомим первый массив
{
mass1[i] = rand() % 127;
}
for (int i=0; i<50; i++) //рандомим второй массив
{
mass2[i] = rand() % 127;
}
for (int i=0; i<30; i++) //считаем сколько цифр и букв в первом
{
if (isdigit (mass1[i])) {
new_size1++;
} else if (isalpha (mass1[i])) {
new_size2++;
}
}
for (int i=0; i<50; i++) //считаем сколько цифр и букв во втором
{
if (isdigit (mass2[i])) {
new_size1++;
} else if (isalpha (mass2[i])) {
new_size2++;
}
}
for (int i=0; i<30; i++) //цифри из первого массива к цифрам
{
if (isdigit (mass1[i])) {
nums[temp] = mass1[i];
temp++;
}
}
for (int i=0; i<50; i++) //цифри из второго массива к цифрам
{
if (isdigit (mass2[i])) {
nums[temp] = mass2[i];
temp++;
}
}
cout << "Всего цифр должно быть: " << new_size1 << endl;
temp = 0;
for (int i=0; i<30; i++) //буквы из первого массива к буквам
{
if (isalpha (mass1[i])) {
symbs[temp] = mass1[i];
temp++;
}
}
for (int i=0; i<50; i++) //буквы из второго массива к буквам
{
if (isalpha (mass2[i])) {
symbs[temp] = mass2[i];
temp++;
}
}
cout << "Всего букв должно быть: " << new_size2 << endl << endl;
temp = 0;
cout << "Вот цифры из массивов: ";
for (int i=0; i<new_size1; i++)
{
cout << nums[i] << " ";
}
cout << endl;
cout << "Вот цифры по возрастанию: ";
qsort(nums, new_size1, sizeof(int), Comp2);
for (int i=0; i<new_size1; i++)
{
cout << nums[i] << " ";
}
cout << endl << endl;
cout << "Вот буквы из массивов: ";
for (int i=0; i<new_size2; i++)
{
cout << symbs[i] << " ";
}
cout << endl;
for (int i=0; i<new_size2; i++)
{
symbs[i] = (char)tolower(symbs[i]);
}
qsort(symbs, strlen(symbs), sizeof(*symbs), Comp1);
cout << "А теперь по алфавиту: ";
for (int i=0; i<new_size2; i++)
{
cout << symbs[i] << " ";
}
cout << endl << endl;
return 0;
}
int Comp1(const void* a, const void* b)
{
return *(char*)a-*(char*)b;
}
int Comp2(const void* a, const void* b)
{
return *(int*)a-*(int*)b;
}
int new_size1 = 0;
int new_size2 = 0;
int *nums = new int [new_size1];
char *symbs = new char [new_size2+1];
создаете массивы с размером ноль...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! Есть задача запустить Gitlab Runner для сборки C++/Qt проекта на Mac OSЗнаю, что для сборки просто C++ проекта можно использовать Nuget и MSBuild
Помогите разобраться, как работает функция обхода кортежа:
В общем когда запуская приложение высвечивается ошибка "is not valid win32 application"На просторах интернета ответов не нашёл по этому обращаюсь сюда
Не знаю какой должная быть ф-ия, которая принимает массив структур и сортирует его по одному элементу типа string, да ещё и по алфавитуМожет кто...