1. Хочу, чтобы массив перебирался и вычислялось число у которого чисел в разрядах наибольшее количество, пример: "7" = 1 разряд в числе, "243" - 3 раряда в числе, "23888" - 5 разрядов, "24" - 2 разряда, и т.д. Это нужно для вычисления проходов в цикле for, Чтобы в первом цикле for можно было подставлять вычисленное число, а не вручную, как сейчас "5", мне кажется нужна функция: которая принимает число и переводит его в строку, но я не знаю эту функцию, подскажете?!
Код:
Код: Выделить всё
len = strlen(функция ЧислоВСтроку(ar[j]));2. И ещё почему при размере массива в 20000 функция работает, а с размером уже больше 20 тысяч вылетает в ошибку?! Проверял только до 100000 и выставлял, число в разрядах "6". Что не так?!
Прочитал тему на форуме
В общем раскритикуйте мой код или укажате на слабые места, если можно с поправкой. Буду благодарен!
Код:
Код: Выделить всё
// Блочная сортировка---------------------------------------------------------------------------
#include
using std::cout;
using std::cin;
using std::endl;
#include
using std::setw;
#include
#include
#include
using std::time;
void bucketSort(int ara[], const int sze);
int main()
{
const int size = 20000;
int array[size] = {0};
int z = 1;
srand(time(0));
cout
- это знак "не равно" в паскале. А в си это так: !=