Programmazione C

di il
3 risposte

Programmazione C

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 << "|";
}
}

3 Risposte

  • Re: Programmazione C

    Rileggi il regolamento del forum in particolare la regola n. 7.
  • Re: Programmazione C

    Ok,scusate ho letto ora la regola 7
  • Re: Programmazione C

    Gastaldo,
    magari leggi più attentamente il regolamento del forum in quanto esiste apposita area per il linguaggio C, il titolo non è significativo, non hai impiegato i teg-code con relativa l'indentazione del codice, inoltre la descrizione non chiarisce l'esigenza, ma chiediti:
    se devi solo visualizzare i valori del vettore in senso inverso, a quello con cui li hai inseriti, è sufficiente effettuare un ciclo opposto a quello di caricamento (da DIM - 1 a 0 decrementando i); mentre se devi disporre fisicamente, all'interno del vettore, i dati in senso inverso dovrai appoggiarti ad una variabile temporanea che permetta di traslare ciascun elemento (il primo diventa ultimo, il secondo penultimo, ecc.) effettuando un ciclo per la metà degli elementi (ad esempio il primo nella variabile temporanea, quindi l'ultimo nella prima posizione e il valore della variabile temporanea nell'ultima posizione, e cosi via procedendo per i vari elementi da 1 a DIM/2); infine se per ordine decrescente intendi porre in sequenza ascendente (o discendente) i valori numerici del vettore, dovrai impiegare un algoritmo di sort.
Devi accedere o registrarti per scrivere nel forum
3 risposte