Ultima modifica:
Salve ragazzi stavo svolgendo il seguente esercizio (traccia messa tra commenti del programma) ma non capisco perché mi dia sempre che gli elementi sono uguali.
Aggiorno: Ho risolto cambiando l'incremento di i, ovvero al posto di i++ ho messo i+1 (nel if dell'ultimo for) Ma non capisco perché non mi leggeva il ++
C:
/*
Scrivere un programma in linguaggio C che riceve in ingresso una sequenza di N numeri
interi. I numeri sono memorizzati in un vettore. Il valore N è inserito dall’utente, ma il
vettore può contenere al massimo 30 numeri. Terminato l’inserimento della sequenza di
numeri, il programma deve verificare se gli elementi del vettore sono tutti uguali tra loro.
*/
#include <stdio.h>
#include <stdlib.h>
#define max 30
int main(int argc, char *argv[]) {
int v[max]; //vettore con grandezza massima 10
int N; //elementi del vettore
int i;
int uguali;
do{
printf("Di quanti elementi e' composto questo vettore? : ");
scanf("%d",&N);
if(N>max){
printf("Errore!\n");
}
}while(N>max);
printf("\nInserisci elementi nel vettore...\n");
for(i=0;i<N;i++){
printf("Posizione %d : ",i);
scanf("%d",&v[i]);
}
uguali=0;//uguali = 0 non sono uguali gli elementi, = 1 sono uguali;
//VERIFICA SE GLI ELEMENTI DEL VETTORE SONO TUTTI UGUALI
for(i=0;i<N;i++){
if(v[i]==v[i++]){
uguali=1;
}else{
uguali=0;
}
}
if(uguali==1){
printf("Gli elementi sono tutti uguali");
}else{
printf("Gli elementi sono diversi");
}
return 0;
}
Messaggio unito automaticamente:
Aggiorno: Ho risolto cambiando l'incremento di i, ovvero al posto di i++ ho messo i+1 (nel if dell'ultimo for) Ma non capisco perché non mi leggeva il ++