Informatică, întrebare adresată de eugenutz29s, 9 ani în urmă

Scrieti definitia completa a subporgramului f care primeste prin intermediul parametrului n un numar natural nenul (2<=n<=9),iar prin intermediul parametrului a, un tablou unidimensional care contine n valori naturale distincte, fiecare dintre acestea avand cel mult patru cifre. Subprogramul interschimba cel mai mic element par si cel mai mare element impar din tabloul a si furnizeaza tabloul modificat tot prin parametrul a. Daca tabloul nu contine nici un element par sau nici un element impar, el va ramane neschimbat.
Exemplu:
daca subprogramul se apeleaza pe n=6 si pe a avand valorile (2,3,17,6,1,24), tabloul va avea in urma apelului urmatoarea forma: (17,3,2,6,1,24).

Am nevoie de program complet, sa ruleze in Code Blocks.

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
1
#include <iostream>
#define NMAX 50000
using namespace std;

void f(int lg, int a[])
{
    int Max = 0, Min = 1 << 30;

    for(int i=1; i<=lg; i++) {
        if(a[i] & 1 && a[i] > Max) Max = i;
        else if(a[i] < Min) Min = i;
        else continue;
    }

    swap(a[Max], a[Min]);
}

int main()
{
    int n, v[NMAX];

    cin >> n;
    for(int i=1; i<=n; i++) cin >> v[i];
    cout << "\nVectorul nemodificat: ";
    for(int i=1; i<=n; i++) cout << v[i] << ' ';
    f(n, v);
    cout << "\nVectorul modificat: ";
    for(int i=1; i<=n; i++) cout << v[i] << ' ';
    return 0;
}


Alte întrebări interesante