Вводится массив с клавиатуры. Вывести номера первого, второго, третьего минимума. То есть...

0 голосов
39 просмотров

Вводится массив с клавиатуры. Вывести номера первого, второго, третьего минимума. То есть например массив 2 3 4 9 7 12. Первый минимум 2,второй-3,третий-4. На языке СИ.


Информатика (22 баллов) | 39 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Решение в прикрепленном файле.


Скачать вложение Текст (TXT)
(9.7k баллов)
0

Цикл поиска минимального исправить    for (int i=0; i < n; i++) 
    {
if ((a[i]min1 )) 
{   min2=a[i];  nmin2=i+1;   }
else
{  if ((a[i]min ))
  { 
    min2=min1;   nmin2=nmin1;
             min1=a[i];   nmin1=i+1;  
  }
  else
  if (a[i]   {
     min2=min1;  nmin2=nmin1;
     min1=min;   nmin1=nmin;
     min=a[i];   nmin=i+1;  
  }
        }  
    }

0

Есть другой вариант   #include
#include
#include

int main() {
    int n,mn,ind,tmp; 
    printf("n =  ");  
    scanf("%i",&n); 
    int a[n],b[n];
//заполнение массива   
    for (int i=0; i    {
      printf("%i: ",i+1);  scanf("%i",&a[i]);
      b[i]=i;
    }
    printf("\n"); 
// поиск минимального элемента
    for (int i=0; i<3; i++)<br>    {
      mn=a[i];  ind=b[i];
      for (int j=i+1; j        if (a[j]     

0

Все не вошло,  остаток           // поиск минимального элемента
    for (int i=0; i<3; i++)<br>    {
      mn=a[i];  ind=b[i];
      for (int j=i+1; j        if (a[j]      printf("min %i:   %i   index:  %i\n",i+1,mn,ind+1);        
      tmp=a[i];  a[i]=mn;   a[ind]=tmp;
      tmp=b[i];  b[i]=ind;   b[ind]=tmp;        
    }
    getch();
    return(0);
}