Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задачка по С++ срочно, pls. W

Дмитрий Висков Ученик (46), на голосовании 3 месяца назад
Укажите, какой результат будет выведен на экран после выполнения кода.

#include <iostream>

#include <algorithm>

using namespace std;

void bubbleSort(string& str) {

int n = str.length();



for (int i = 0; i < n - 1; ++i) {

for (int j = 0; j < n - i - 1; ++j) {

if (str[j] > str[j + 1]) {

swap(str[j], str[j + 1]);

}

}

}

}



int main() {

int maxLength = 0;

int currentLength = 1;

string str = "abbabcdddeffgh";

bubbleSort(str);



for (int i = 1; i < str.length(); ++i) {

if (str[i] == str[i - 1]) {

currentLength++;

}

else {

cout << currentLength;

break;

}

}



return 0;

}
Голосование за лучший ответ
Инспектор Жопидý Оракул (86407) 4 месяца назад
Результат выполнения кода:
432
Объяснение:
1. Функция bubbleSort:
o Эта функция сортирует строку str с помощью алгоритма пузырьковой сортировки.
o Алгоритм работает, проходя по строке несколько раз, сравнивая соседние элементы и меняя их местами, если они находятся в неправильном порядке.
o Функция не имеет обратного значения.
2. Функция main:
o Эта функция является точкой входа в программу.
o Она объявляет переменные maxLength и currentLength для хранения максимальной и текущей длины последовательных одинаковых символов в строке.
o Затем она создает строку str и вызывает функцию bubbleSort для ее сортировки.
o После сортировки цикл перебирает строку, подсчитывая количество одинаковых символов подряд.
o Если текущий символ не совпадает с предыдущим, значение currentLength выводится на экран, и цикл прерывается.
o В противном случае значение currentLength увеличивается.
3. Вывод:
o В данном случае строка str после сортировки будет abcdefgh.
o Цикл main будет проходить по строке, пока не дойдет до символа h.
o До этого момента currentLength будет увеличиваться, достигая значения 4.
o Когда цикл дойдет до h, он прервется, и на экран будет выведено значение currentLength, равное 4.
o Таким образом, на экране будет выведено 432.
Примечание:
• Эта программа демонстрирует использование алгоритма пузырьковой сортировки для сортировки строк и подсчета количества одинаковых символов подряд.
• Существуют более эффективные алгоритмы сортировки, такие как сортировка слиянием или быстрая сортировка, которые можно использовать для больших строк.
Похожие вопросы