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

Ответы 3

  • Цикл поиска минимального исправить    for (int i=0; i < n; i++)     { if ((a[i]<min2) && (a[i]>min1 ))  {   min2=a[i];  nmin2=i+1;   } else {  if ((a[i]<min1) && (a[i]>min ))   {      min2=min1;   nmin2=nmin1;             min1=a[i];   nmin1=i+1;     }   else   if (a[i]<min)   {      min2=min1;  nmin2=nmin1;      min1=min;   nmin1=nmin;      min=a[i];   nmin=i+1;     }        }      }
  • Есть другой вариант   #include<stdio.h>#include<stdlib.h>#include<conio.h>int main() {    int n,mn,ind,tmp;     printf("n =  ");      scanf("%i",&n);     int a[n],b[n];//заполнение массива       for (int i=0; i<n; i++)    {      printf("%i: ",i+1);  scanf("%i",&a[i]);      b[i]=i;    }    printf(""); // поиск минимального элемента    for (int i=0; i<3; i++)    {      mn=a[i];  ind=b[i];      for (int j=i+1; j<n; j++)         if (a[j]<mn)  {  mn=a[j];   ind=b[j];  }      
    • Автор:

      eloise
    • 6 лет назад
    • 0
  • Все не вошло,  остаток           // поиск минимального элемента    for (int i=0; i<3; i++)    {      mn=a[i];  ind=b[i];      for (int j=i+1; j<n; j++)         if (a[j]<mn)  {  mn=a[j];   ind=b[j];  }       printf("min %i:   %i   index:  %i",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);}
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years