salve gente, sarò molto lieto a chi potra' darmi una mano
il mio programma, scritto in c++, crea un vettore (inserendo le componenti desiderate da tastiera) ed elimina le componenti consecutive uguali, oppure(caso alternativo) ordina le componenti in senso decrescente. IL programma funziona, ma soltanto con i numeri, DOVREI CERCARE DI FARLO FUNZIONARE ANCHE INSERENDO IN INGRESSO DELLE LETTERE, creando un controllo di tipo variabili in ingresso (ma non so farlo).
Allego il programma, magari gli date un'occhiata e mi fate sapere cosa ne pensate.
Sono accettati qualsiasi tipi di consigli o anche rilevazioni di imperfezioni (sono un principiante)
Largo alle proposte allora...
Codice PHP:
#include<iostream>
#include<stdio.h>
typedef int vettore[100];
using namespace std;
int v[100], w[100];
int leggi (int dimensione);
int scrivi(vettore vet,int dimensione);
int controlla (vettore vet, int dimensione);
int elimina (vettore vet, int dimensione);
int ordina (vettore vet, int dimensione);
int main(){
system("COLOR A1");
char scelta;
do{
int dim;
bool k;
system ("cls");
cout<<"Inserire la dimensione del vettore desiderato:";
cin>>dim;
cout<<endl;
leggi(dim);//chiamata al sottoprogramma che permette di inserire le componenti vettoriali
cout<<endl;
cout<<"il vettore inserito e':\n\t";
scrivi(v,dim);//chiamata al sott.prog. che scrive il vettore desiderato dall'utente
cout<<endl;
k=controlla(v,dim);//chiamata al sott.prog. che verifica l'esistenza di elementi doppi
if(k)elimina(v,dim);//chiamata al sott.prog che elimina le componenti doppie
else ordina(v,dim);//non ci sono componenti doppie,chiamata al sott.prog
//che ordina le componenti in ordine decrescente
cout<<"\n\nRipetere operazione?(s/n)";//possibilita' di ripetere l'operazione
cin>>scelta;
}while(scelta=='s');
return 0;
}
// sottoprogramma leggi
int leggi (int dimensione){
for (int i=0;i<dimensione;i++){
cout<<" inserire la componente numero "<<i+1<<" (max 10 cifre):";
cin>>v[i];}}
//sottoprogramma scrivi
int scrivi(vettore vet,int dimensione){
cout<<"( ";
for(int i=0;i<dimensione;i++)cout<<vet[i]<<" ";
cout<<")";}
//sottoprogramma controlla
int controlla (vettore vet, int dimensione){
int alfa;
alfa=0;
for(int i=0;i<dimensione-1;i++){
if (vet[i]==vet[i+1]){
alfa=1;
cout<<"\n\t- Attenzione, esistono elementi doppi! - \a\n\n";
break;}}
return alfa;}
//sottoprogramma elimina
int elimina (vettore vet, int dimensione){
int p=-1;
for (int i=0;i<dimensione;i++){
if (vet[i]==vet[i+1]){
i++;}
else if (vet[i]!=vet[i+1]){
p++;
w[p]=vet[i];
}}
cout<<"il vettore privo degli elementi doppi e':\n\n\t";
p++;
scrivi(w,p);}
//sottoprogramma ordina
int ordina (vettore vet, int dimensione){
int scambio;
for(int i=0;i<dimensione;i++){
for(int j=dimensione;j>i;j--){
if(vet[j-1]<vet[j]){
scambio=vet[j-1];
vet[j-1]=vet[j];
vet[j]=scambio;}}}
cout<<"\n\nil vettore finale V1 ordinato e':\n\t";
scrivi(vet,dimensione);}