Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. void multiple(string mass) {
  2. // Переменные для преобразования символа в инт, для умножения, для указателя
  3. int num, mult = 1, flag = 0;
  4. // Длина входного массива
  5. int length = mass.length();
  6. // Проверка размера строки
  7. if (length >= 13 && length<=1000){
  8. // Переменная для сортировки пузырьком
  9. int variable;
  10. // Длина массива с результатами
  11. int length_of_results = length - 12;
  12. // Динамический массив чисел из входной строки
  13. int *massive = new int[length];
  14. // Динамический массив результатов
  15. int *results = new int[length_of_results];
  16. // Цикл преобразующий char в int и попутно заполняющий массив числами
  17. for (auto symb:mass) {
  18. num = symb - '0';
  19. *(massive+flag) = num;
  20. cout << *(massive + flag) << " ";
  21. flag++;
  22.  
  23. }
  24. // Цикл выполняющий умножение 13-и подряд идущих элементов
  25. for (int i = 0; i < length_of_results; i++) {
  26. mult = massive[i];
  27. for (int j = i+1; j <= i+12; j++) {
  28. mult *= *(massive + j);
  29. }
  30. results[i] = mult;
  31. }
  32. // Сортировка пузырьком
  33. for (int i = 0; i < length_of_results-1; i++) {
  34. for (int j = 0; j < length_of_results - i - 1; j++) {
  35. if (results[j] > results[j+1]) {
  36. variable = results[j];
  37. results[j] = results[j + 1];
  38. results[j + 1] = variable;
  39. }
  40. }
  41. }
  42. cout <<"Результат: "<< results[length_of_results - 1];
  43. delete[] massive;
  44. delete[] results;
  45. }
  46. else {
  47. cout << "Неправильный размер массива" << endl;
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement