Traduzione da C++ in C

di il
3 risposte

Traduzione da C++ in C

Per favore mi potreste aiutare a tradurre questo programma da C++ in C? Grazie in anticipo.

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

3 Risposte

  • Re: Traduzione da C++ in C

    Beh, il codice che hai postato è scritto in C++, ma senza OOP, quindi in pratica è al 80% C.

    Sostituisci tutte le cout con printf,
    
    cout << "Di quanti posti vuoi traslare gli elementi? " << endl;
    
    diventa
    
    printf("Di quanti posti vuoi traslare gli elementi?\n");
    
    Sostituisci tutti i cin con scanf, tando attento al tipo di dato che vuoi leggere: ogni tipo ha il suo formato.
    
    cin >> scelta;
    
    diventa
    
    scanf(" %c", &scelta);
    
    Elimina
    
    using namespace std;
    
    e sostituisci
    
    #include <iostream>
    #include <cstdlib>
    
    con
    
    #include <stdio.h>
    
    E con poco ce la fai!
  • Re: Traduzione da C++ in C

    Come ti hanno già detto, qui non si fa tutto il lavoro come se fosse un servizio.

    Mettici del tuo ...
  • Re: Traduzione da C++ in C

    Chiudo anche questo 3d e invito per l'ultima volta l'autore a leggere e rispettare il regolamento
Devi accedere o registrarti per scrivere nel forum
3 risposte