/
lyapdy
/
Object_oriented_programming_cpp_318
Обзор
Документация
Войти
/
lyapdy
/
Object_oriented_programming_cpp_318
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lab4/task_7.cpp
34 строки
1 KB
danillyapunov
task4
25 июн 2025, 18:15
25 июн 2025, 18:15
4f23491
Код
Авторство
О чём код?
#include <iostream> #include <cstring> #include "task_7.h" #define SIZE 4 // ࠧ��� �������� ��� Task_7 void task_7() { char s[SIZE+1], chTmp; int i, j, r, k; strcpy(s, "ABCD"); // �����㥬 ��ப� � ����⮢����� ���ᨢ char s ࠧ�� SIZE+1 (�� ���뢠�� � ���� ��ப�) char (&ref)[SIZE+1] = s; // �� ���� ������� ᮧ���� ��뫪� �� ���ᨢ s � ����� ࠡ�⠥� � ��� while(1) { std::cout << ref << std::endl; // �뢮��� ABCD - ��砫쭮� ���ﭨ� ���ᨢ� // ��室�� ᠬ�� �ࠢ�� ����, ��� s[i] < s[i+1] for(i = SIZE - 1; i >= 0 && ref[i] > ref[i + 1]; --i) ; if (i < 0) { // �� �⭮���� � 横�� for, ��������� � �।��饩 ��ப� break; // ����稫� "DCBA" - ᠬ�� ������ ����⠭���� } // ��室�� s[j] - �������訩 ������� �ࠢ� �� ������� s[i] � ����訩 ��� for(j = SIZE - 1; ref[i] > ref[j]; --j) ; // ���塞 s[i] <-> s[j] chTmp = ref[j]; // �� 㦥 � 横�� for �� �⭮����! ref[j] = ref[i]; // ���� ��६��� ���⠬� ������⮢ ref[i] = chTmp; for(k = i + 1, r = SIZE - 1; r > k; ++k, --r) { // ��������, ���騥 �� ������⮬ i - "��ॢ��稢���" chTmp = ref[r]; ref[r] = ref[k]; ref[k] = chTmp; } } }