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

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

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

у меня такая прозьба объясните пожалуста по подробние что означает каждая строчка этой программы: За ранее благодарю...
#include <iostream>
void sort(int&,int&,int&);
void main()
{
        int a=10,b=-5,c=6;
        printf("%d %d %d\n",a,b,c);
        sort(a,b,c);
        printf("%d %d %d",a,b,c);
        printf("\n");
}
 
void sort(int& a,int& b,int& c)
{
        int min=a;
        if (min>b) min=b;
        if (min>c) min=c;
        int max=c;
        if (max<a) max=a;
        if (max<b) max=b;
        b=a+b+c-min-max;
        a=min;
        c=max;
}

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

textual
Листинг программы
#include <iostream>
void sort(int&,int&,int&); //объявления прототипа ф-ии sort. Параметрами ф-ии являются ссылки на переменные, содержащие числа которые необходима разместить в порядка возрастания. 
void main()
{
        int a=10,b=-5,c=6; //задаём значения переменных
        printf("%d %d %d\n",a,b,c); //выводим их на экран
        sort(a,b,c);//сортируем
        printf("%d %d %d",a,b,c);//выводим отсортированные переменные. Т.к. параметрами ф-ии sort является не сами переменные, а ссылки на них, то изменяются сами переменные.
        printf("\n");//переводим курсор на новую строку. Необязательно
}
 
void sort(int& a,int& b,int& c) //тело функции sort
{
//общий алгоритм таков. Т.к. три числа, то понятно что первым будет минимум, третьим максимум, а вторым разность из суммы всех трех чисел минимума и максимума.
//сначала находим min
        int min=a; //принимаем, что min это a
        if (min>b) min=b;//если не а>b то min b
        if (min>c) min=c;// если b>c то min c
        int max=c; //тоже самое для максимального
        if (max<a) max=a;
        if (max<b) max=b;
        b=a+b+c-min-max;//находим среднее число как разность из суммы всех трех чисел минимума и максимума.
        a=min;//первое есть минимум
        c=max;//третье есть максимум
}

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

  1. Включаем заголовочный файл iostream для использования функций вывода и ввода.
  2. Объявляем прототип функции sort, которая принимает три ссылки на переменные типа int.
  3. В функции main() задаём значения трём переменным типа int и выводим их на экран.
  4. Вызываем функцию sort, передав ей три ссылки на переменные a, b и c.
  5. В функции sort() ищем минимальное значение из трёх переданных чисел и сохраняем его в переменную min.
  6. Если min больше второго числа, то обновляем значение min вторым числом.
  7. Если min больше третьего числа, то обновляем значение min третьим числом.
  8. Ищем максимальное значение из трёх переданных чисел и сохраняем его в переменную max.
  9. Если max меньше первого числа, то обновляем значение max первым числом.
  10. Если max меньше второго числа, то обновляем значение max вторым числом.
  11. Сохраняем в переменную b результат вычисления (a+b+c)-min-max.
  12. Сохраняем в переменную a значение min.
  13. Сохраняем в переменную c значение max.
  14. Выводим на экран значения переменных a, b и c.
  15. Выводим символ новой строки.
  16. Возвращаем управление в основную программу.
  17. Конец функции main()

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


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

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

13   голосов , оценка 4.077 из 5