include <iostream>include <cstdlib>using namespace std; //DICHIARAZIONE DI FUNZIONI void shift(int vett, int n); void lettura(int vett, int a); //PROGRAMMA PRINCIPALE int main(){ int n; cout<<"Inserire numero elementi:"<<endl; cin="">>n; int v[n]; lettura(v,n); cout<<"Prima dello shift:"<<endl; for (int i=0;i<n;i++) cout<<v[i]<<" "; cout<<endl; shift(v,n); for (int i=0;i<n;i++) cout<<v[i]<<" "; system("PAUSE"); return 0; } //funzione 1 void shift(int *vett, int n) { cout<<"Di quanti posti vuoi traslare gli elementi? "<<endl; int="" k;="" cin="">>k; cout<<"Ruotare a destra(D) o sinistra(S)?"<<endl; char="" scelta;="" cin="">>scelta; switch(scelta){ //Scelta in base al valore della variabile char 'scelta' case ('S'): { //rotazione a sinistra for(int j=0; j<k; j++){ int temp=vett[0]; for(int i=0;i<n-1;i++) vett[i]=vett[i+1]; vett[n-1]=temp; } break; } case('D'):{ //rotazione a destra for(int j=0; j<k; j++){ int temp=vett[n-1]; for(int i=n-1;i>0;i--) vett[i]=vett[i-1]; vett[0]=temp; } break; } default: { //nel caso in cui venga inserito un valore diverso da D o S cout<<"Scelta non valida. "<<endl; break; } } cout<<"Dopo lo shift:"<<endl; } //funzione 2 void lettura(int *vett,int a){ for (int i=0;i<a;i++) vett[i]=i; } //si ringrazia
5 su 7
mostra altri 2 commenti
|
Innanzitutto dovresti utilizzare la formattazione del codice perché così non si legge molto bene. In seconda istanza, questo è un sito di Domande&Risposte su Ubuntu o sulle sue derivate, la tua domanda esula non poco dalle finalità di Chiedi. Ti consiglio di leggere il Manuale di Chiedi per imparare a utilizzarlo correttamente e, per ciò che riguarda più specificatamente la domanda da te posta, di utilizzare la sezione Programmazione del Forum. |
Segui questa domanda
Via email:Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui
Via RSS:Basi di markdown
- *corsivo* o __corsivo__
- **grassetto** o __grassetto__
- collegamento:[testo](http://url.com/ "titolo")
- immagine?
- elenco numerato: 1. Foo 2. Bar
- per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
- è supportato anche semplice HTML
Tag:
domanda posta: 17 May '17, 19:49
domanda visualizzata: 1,406 volte
ultimo aggiornamento: 21 May '17, 00:38
Io potrei aiutarti perché a scuola usavo il Turbo C++ (Versione DOS sotto Windows di C e Visual C) solo che forse sarebbe meglio se descrivessi in breve cosa deve fare esattamente il programma.
Spero di ricordare abbastanza (comunque ti posso aiutare ma per farlo devo avviare Windows)
"scrivi un programma che, dato un numero intero K, ruoti un vettore di K posizioni a destra e a sinistra, in base alla scelta dell'utente, visualizzando il vettore iniziale e finale."
se mi aiuti grazie mille in anticipo
Il tuo programma deve fare una cosa del genere. Te lo suddivido in più commenti data la lunghezza.
include <stdio.h>
include <stdlib.h>
include <iostream.h>
int main (void) { int a,b,k; char scelta; printf("Immetti A\n"); cin >> a; printf("Immetti B\n"); cin >> b; printf("Di quanto vuoi traslare A e B?\n"); cin >> k; printf("A destra o a sinistra? Digita 1 per destra e 2 per sinistra\n"); scelta = getchar();
if (scelta =='1') { printf("A e B erano %d, %d\n", a, b); a= a+k; b= b+k; printf("I nuovi valori di A e B sono %d, %d\n", a, b); } else;
Alla fine deve risultare così:
http://i.imgur.com/gQFhVss.jpg
Il risultato sarà il seguente:
http://i.imgur.com/5J3mNZ8.png