Сортировка по убыванию (методом пузырька) - C (СИ)
Формулировка задачи:
Задание: добавить сортировку слов по убыванию (по методу пузырька).
#include "stdafx.h" #include <conio.h> #include <iostream> int main() { setlocale(0, "Russian"); char s[100]; //char ns[100] = { 0 }; int p = 0, b = 0, k = 0, g = 0, w = 0; //o = 0; z=0; printf("Введите слова через пробел: "); gets_s(s); char z[42] = { 'B','b','c','C','D','d','F','f','G','g','H','h','J','j','K','k','L','l','M','m','N','n','P','p','Q','q','R','r','S','s','T','t','V','v','W','w','X','x','Y','y','Z','z' }; for (int i = 0; s[i] != 0; i++) { if (s[i] != ' '&&s[i] != '\t' && (s[i - 1] == ' ' || s[i - 1] == '\t' || i == 0)) { g = 0; w = 0; for (p = 0; z[p] != 0; p++) { if (s[i] == z[p]) { g = 1; } if (g == 1) { w = 0; break; } } if (g == 0) w = 1; if (w == 0) { b = i; while (s[i] != ' '&&s[i] != '\t'&&s[i] != 0) { i++; } k = i; for (i = b; i < k; i++) { printf("%c", s[i]); } printf("\n"); } } } _getch(); return 0; }
Решение задачи: «Сортировка по убыванию (методом пузырька)»
textual
Листинг программы
for (int i = 0; i < n - 1; i++) // для всех элементов кроме последнего цикл { for (int j = (n - 1); j > i; j--) // просмотриваем элементы с конца { if (x[j - 1] > x[j]) // если текущий элемент меньше предыдущего { int temp = x[j - 1]; // меняем их местами x[j - 1] = x[j]; x[j] = temp; } } } // массив на экран: for (i = 0; i < n; i++) printf("%.f ", x[i]); printf("\n");
Объяснение кода листинга программы
int temp = x[j - 1];
- в этой строке переменнойtemp
присваивается значениеx[j - 1]
. Это делается для того, чтобы сохранить значение элемента, который будет перемещён.x[j - 1] = x[j];
- в этой строке значениеx[j]
присваиваетсяx[j - 1]
. Это делается для того, чтобы поменять местами элементы массива.x[j] = temp;
- в этой строкеx[j]
присваивается значениеtemp
. Это делается для того, чтобы вернуть перемещённое значение на своё исходное место.printf(
%.f, x[i]);
- в этой строке выводится на экран значениеx[i]
с плавающей точкой.printf(
\n);
- в этой строке на экран выводится символ новой строки, что позволяет перейти к следующему элементу массива при выводе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д