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
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;
}
#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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Alte limbi străine,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă