Buona a sera a tutti,volevo chiedervi se mi potevate aiutare a risolvere un programma in C dove bisogna scrivere una funzione che inverta la posizione degli elementi di un vettore di interi di cui sia fornita la dimensione(risolvere il problema senza usare vettori ulteriori).Scrivere un programma che dopo aver acquisito da tastiera un vettore di valori interi,lo visualizzi trasformato dall'invocazione della precedente funzione.Il void inserisci l'ho verificato funziona correttamente,invece la funzione dell'ordine decrescente e stampa_vettori non mi riescono.Volevo sapere se potevate aiutarmi.
#include<iostream>
#define DIM 100
using namespace std;
void inserisci(int v[]);
void ordine_decrescente(int v[]);
void stampa_vettori(int v[]);
int main() {
int v[DIM];
inserisci(v);
ordine_decrescente(v);
stampa_vettori(v);
system("Pause");
}
void inserisci(int v[]) {
for (int i = 0; i < DIM; i++) {
cout << "Inserisci i numeri interi [" << i << "]";
do {
cin >> v;
if (v < 0) {
cout << "Errore,inserisci di nuovo il numero";
}
} while (v < 0);
}
}
void ordine_decrescente(int v[]) {
int tmp;
int i;
for (i = 0; i < DIM - 1; i++);
for (int j = i + 1; j < DIM; j++) {
if (v > v[j]) {
tmp = v;
v = v[j];
v[j] = tmp;
return;
}
}
void stampa_vettori(int v[]) {
int i, j;
for (i = 0; i < DIM - 1; i++);
for (int j = i + 1; j < DIM; j++)
cout << "I numeri interi che hai inserito sono:" << v[j];
cout << "|";
}
}