ciągi liczb

0

WItam.
Mam za zadanie stworzyć skrypt jednak nie wiem jak się za niego wziąć tzn. początek kodu nawet cały kod już mam, ale musze go przekształcić tak jak piszę w załączniku.

#include <stdio.h>

#define EXIT_OK 0
#define EXIT_FAIL -1
#define LEN 10

int main()
{
    int numbers[LEN]; //32bit 1/0, 1 znakowy
    int no;

    for(int i=0; i<LEN; i++)
    {
        printf("[%d] <- ", i+1);
        scanf("%d", &no);
        numbers[i] = no;
    }

    int max, min;
    max = min = numbers[0];
    int where_is_max, where_is_min;
    where_is_max = where_is_min = 0;

    for(int i=1; i<LEN; i++)
    {
        if (numbers[i] > max)
        {
            max = numbers[i];
            where_is_max = i;
        }


        if (numbers[i] < min)
        {
            min = numbers[i];
            where_is_min = i;
        }

    }

    printf("\nMAX = %d\nMIN = %d", max, min);

    numbers[where_is_max] = min;
    numbers[where_is_min] = max;

    printf("\n wymiana max i min\n");
    for(int i=0; i<LEN; i++)
        printf("[%d] = %d\n", i+1, numbers[i]);
    /*

    if(w)
    //    return EXIT_FAIL;
    */

    return EXIT_OK;
}
0

Powinenieneś mieć numbers[i] >= max i <= min, inaczej, dla tablicy złożonej z, np., dziesięciu jedynek, nie znajdzie maximum, (ani minimum). Co to znaczy przekształcić kod?
Znajduje poprawnie extrema i zamienia miejscami, testowałeś?
Co do części drugiej, to tak samo jak szukanie max i min w pierwszej, tylko pomijasz pozycję/pozycje na których jest minimum i maksimum; i może nie być takich elementów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1