Shift elementi vettore c++

di il
1 risposte

Shift elementi vettore c++

Salve forum , il proff telematicamente ha svolto la seguente traccia d'esame , io non ho capito bene il ragionamento che c'è dietro lo spostamento , qualcuno gentilmente potrebbe darmi qualche chiarimento? poi non capisco perchè scrivrndola su dev mi da [error] id returned 1 exit status.
la traccia è questa :
Seguendo i principi della programmazione strutturata e della modularità, si sviluppi un programma in C++che:
-richieda all'utente di inserire da tastiera un vettore di 10 numeri interi;
- richieda all'utente di inserire da tastiera un carattere che puo' assumere valore "s" o "d";
-in un sottoprogramma si effettui lo spostamento (shift) a sinistra o a destra di una posizione del contenuto del vettore a seconda del carattere inserito;
-visualizzi a video i risultati.
vettori.h
 #define N 10
typedef int vettore [N];
void spostamento (vettore,vettore,char);

vettori.ccp

#include "vettori.h"
#include <iostream>
using namespace std;

void spostamento (vettore p,vettore v,char lettera){

  if (lettera=='s'){

    p[N-1]=v[0];
     for(int i=0;i<N-1;i++) {
         p[i]=v[i+1];
}
}
   else{
     p[0]=v[N-1];
    for(int i=0;i<N;i++) {
    p[i]=v[i-1];
}
}
}

main.cpp

#include "vettori.h"
#include <iostream>
using namespace std;

int main() {
char lettera;
vettore p,v;
for(int i=0;i<N;i++) {
cout<<"v["<<i<<"]=";
cin>>v[i];
}

do {cout<<" Inserire lettera:";
cin>> lettera;
} while(lettera !='s'&& lettera!='d');

spostamento(p,v,lettera);

cout<<"Il nuovo vettore e':"<<endl;
for(int i=0;i<N;i++) {
cout<<"p["<<i<<"]="<<p[i]<<endl;
}
return 0;
}

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte