Сортировка масива с использованием указателей - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здраствуйте, я не могу розобраться з сортировкой массива через указатели. У меня вроде он сортируеться, но максимальное число куда то пропадает, а в место него какой то мусор стоит -858993460 и тд. Помогоите плиз. Вод мой код:
Листинг программы
  1. #include<windows.h>
  2. #include<stdio.h>
  3. #include <time.h>
  4. #include <stdlib.h>
  5. int main() {
  6. SetConsoleCP(1251);
  7. SetConsoleOutputCP(1251);
  8. int A[3][3] = { {4,7,1}, {1,2,8}, {3,5,6} };
  9. int* begin_a;
  10. int* end_a;
  11. int i = 0;
  12. printf("Не сортований масив\n");
  13. // вивід не сортованого масива
  14. while (i < 3) {
  15. for (begin_a = (int *)A + (i * 3) + 0, end_a = (int *)A + (i * 3) + 3; begin_a != end_a; begin_a++) {
  16. printf("%d ", *begin_a);
  17. }
  18. i++;
  19. }
  20. i = 0;
  21. printf("\n\n");
  22. //сортування бульбашкою
  23. int temp, N = 0;
  24. while (N < 10) {
  25. for (begin_a = (int*)A+0, end_a = (int*)A + 9; begin_a < end_a; begin_a++) {
  26. if (*begin_a > *(begin_a + 1)) {
  27. temp = *begin_a;
  28. *begin_a = *(begin_a + 1);
  29. *(begin_a + 1) = temp;
  30. }
  31. }
  32. N++;
  33. }
  34. // вивід сортованого маисву
  35. i = 0;
  36. printf("\nВідсортований масив\n");
  37. while (i < 3) {
  38. for (begin_a = (int *)A + (i * 3) + 0, end_a = (int *)A + (i * 3) + 3; begin_a != end_a; begin_a++) {
  39. printf("%d ", *begin_a);
  40. }
  41. i++;
  42. }
  43. getchar();
  44. }

Решение задачи: «Сортировка масива с использованием указателей»

textual
Листинг программы
  1. for (begin_a = (int*)A+0, end_a = (int*)A + 8; begin_a < end_a; begin_a++) {

Объяснение кода листинга программы

  1. Инициализация начального и конечного указателей для первого вложенного цикла: begin_a и end_a.
  2. Условие цикла while, которое выполняется до тех пор, пока begin_a меньше end_a.
  3. В каждой итерации внутреннего цикла происходит сравнение двух соседних элементов массива A и их последующая перестановка в нужном порядке.
  4. Значение A[i] присваивается переменной temp, которая затем присваивается A[i+1].
  5. Переход к следующей итерации внутреннего цикла.
  6. Переход к следующей итерации внешнего цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы