Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void multiple(string mass) {
- // Переменные для преобразования символа в инт, для умножения, для указателя
- int num, mult = 1, flag = 0;
- // Длина входного массива
- int length = mass.length();
- // Проверка размера строки
- if (length >= 13 && length<=1000){
- // Переменная для сортировки пузырьком
- int variable;
- // Длина массива с результатами
- int length_of_results = length - 12;
- // Динамический массив чисел из входной строки
- int *massive = new int[length];
- // Динамический массив результатов
- int *results = new int[length_of_results];
- // Цикл преобразующий char в int и попутно заполняющий массив числами
- for (auto symb:mass) {
- num = symb - '0';
- *(massive+flag) = num;
- cout << *(massive + flag) << " ";
- flag++;
- }
- // Цикл выполняющий умножение 13-и подряд идущих элементов
- for (int i = 0; i < length_of_results; i++) {
- mult = massive[i];
- for (int j = i+1; j <= i+12; j++) {
- mult *= *(massive + j);
- }
- results[i] = mult;
- }
- // Сортировка пузырьком
- for (int i = 0; i < length_of_results-1; i++) {
- for (int j = 0; j < length_of_results - i - 1; j++) {
- if (results[j] > results[j+1]) {
- variable = results[j];
- results[j] = results[j + 1];
- results[j + 1] = variable;
- }
- }
- }
- cout <<"Результат: "<< results[length_of_results - 1];
- delete[] massive;
- delete[] results;
- }
- else {
- cout << "Неправильный размер массива" << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement