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

chiesto 17 Mag, 19:49

ceciliacanuto's gravatar image

ceciliacanuto
201

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.

(20 Mag, 15:51) marcy81ge marcy81ge's gravatar image

Spero di ricordare abbastanza (comunque ti posso aiutare ma per farlo devo avviare Windows)

(20 Mag, 15:53) marcy81ge marcy81ge's gravatar image

"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."

(20 Mag, 17:04) ceciliacanuto ceciliacanuto's gravatar image

se mi aiuti grazie mille in anticipo

(20 Mag, 17:04) ceciliacanuto ceciliacanuto's gravatar image

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();

(21 Mag, 00:28) marcy81ge marcy81ge's gravatar image

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;

     if (scelta =='2')
     {
     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;
     system ("pause");
     return 0;
     }
(21 Mag, 00:28) marcy81ge marcy81ge's gravatar image

Alla fine deve risultare così:

http://i.imgur.com/gQFhVss.jpg

Il risultato sarà il seguente:

http://i.imgur.com/5J3mNZ8.png

(21 Mag, 00:32) marcy81ge marcy81ge's gravatar image

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.

coll. permanente

ha risposto 20 Mag, 16:38

cialu's gravatar image

cialu
646418

La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • 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:

×100

domanda posta: 17 Mag, 19:49

domanda visualizzata: 48 volte

ultimo aggiornamento: 21 Mag, 00:38

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.