Поменять местами минимальный и максимальный элементы массива размера 10 - C (СИ)

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

Можете подсказать где ошибка просто здесь вообще не меняет местами
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
     int a[10],i,max,min,r;
     printf("\n vvedite elementy massiva \n");
     for(i=0;i<10;i++)
     {
                      a[i]=rand()%100-50;
                      scanf("%d",&a[i]);
                      }
                      max=a[0];
                      for (i=0;i<10;i++)
                      if (a[i]>max)
                      max=a[i];
                      min=a[0];
                      for (i=0;i<10;i++)
                      if (a[i]<min)
                      min=a[i];
                      for (i=0;i<10;i++)
                      r=max;
                      max=min;
                      min=r;
                      for (i=0;i<10;i++)
                      printf("%d",a[i]);
                      getch();
                      }

Код к задаче: «Поменять местами минимальный и максимальный элементы массива размера 10 - C (СИ)»

textual
#include <stdio.h>
#include <stdlib.h>
 main()
 {
 int a[10],i,max,min,r,min_index,max_index;
    printf("\n elementy massiva \n");
 for(i=0;i<10;i++)
 {
    a[i]=rand()%100-50; //заполняем массив
    printf("%d  ",a[i]); //выводим элементы массива
 }
 max=a[0];      //  принимаем за максимальный элемент
 max_index=0;    // принимаем что макс элемент в массиве под индексом 0
 for (i=0;i<10;i++) 
    if (a[i]>max)
        {
            max=a[i];  
            max_index=i; //  запоминаем какой индекс у максимального элемента
        }
    
 min=a[0];
 min_index=0;
 for (i=0;i<10;i++)
    if (a[i]<min)
        {
            min=a[i];
            min_index=i;    
        }
 
 r=a[max_index];      //меняем местами макс и мин
 a[max_index]=a[min_index];
 a[min_index]=r;    
  
 printf("\n");  
 for (i=0;i<10;i++)  //  вывод измененного массива
    printf("%d  ",a[i]);
 getch();
 }
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

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


СДЕЛАЙТЕ РЕПОСТ