Les nombres ne sont pas consécutifs
Résolu/Fermé
A voir également:
- Les nombres ne sont pas consécutifs
- Code binaire des nombres - Guide
- Nombres faciles - Télécharger - Outils professionnels
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur) - Forum Excel
- L'un des nombres spécifiés n'est pas compris dans l'intervalle autorisé - Forum MacOS
3 réponses
Utilisateur anonyme
24 juin 2015 à 16:03
24 juin 2015 à 16:03
je pense pas que ça vienne de la mais petite erreur dans le code.
dans la comparaison des nombre, tu va comparer le nombre numéro:
0 et 1 : OK
1 et 2 : OK
2 et 3 : OK
3 et 4 : ALERTE car tab[4] n'existe normalement pas. le fait que tu ait déclaré ton tableau directement a 10 fait que tab[4] existe mais tu ne sais pas ce qu'il y a dedans. initialise le avec nb, c'est mieux.
dans la comparaison des nombre, tu va comparer le nombre numéro:
0 et 1 : OK
1 et 2 : OK
2 et 3 : OK
3 et 4 : ALERTE car tab[4] n'existe normalement pas. le fait que tu ait déclaré ton tableau directement a 10 fait que tab[4] existe mais tu ne sais pas ce qu'il y a dedans. initialise le avec nb, c'est mieux.
j'ai essayé ainsi:
mais output a une erreur
Entrez le nombre de valeur<10 = 4
Entrez les nombres :1 = 5
Entrez les nombres :2 = 8
Entrez les nombres :3 = 3
Les nombres ne sont pas consécutifs
j'ai mis 4 éléments mais il sort que 3 éléments
merci pour votre aide
import java.util.Scanner;
public class Divers3
{
public static void main(String[] args)
{
//int i;
int tab[]=new int[10];
boolean flag;
Scanner sc=new Scanner(System.in);
System.out.print("Entrez le nombre de valeur<10 = ");
int nb=sc.nextInt();
int redim=tab[nb-1];
//int tab[]=new int[nb];
for(int i=0;i<nb-1;i++)
{
System.out.print("Entrez les nombres :"+(i+1)+" = ");
tab[i]=sc.nextInt();
}
flag=true;
//flag=false;
for(int i=1;i<nb-1;i++)
{
if(tab[i]!=tab[i-1]+1)
{
flag=false;
//flag=true;
}
}
//flag=true;
if(flag)
{
System.out.println("Les nombres sont consécutifs");
}
else
{
System.out.println("Les nombres ne sont pas consécutifs");
}
}
}
mais output a une erreur
Entrez le nombre de valeur<10 = 4
Entrez les nombres :1 = 5
Entrez les nombres :2 = 8
Entrez les nombres :3 = 3
Les nombres ne sont pas consécutifs
j'ai mis 4 éléments mais il sort que 3 éléments
merci pour votre aide
j'ai corrigé
merci beaucoup
int tab[]=new int[10];
boolean flag;
Scanner sc=new Scanner(System.in);
System.out.print("Entrez le nombre de valeur<10 = ");
int nb=sc.nextInt();
int redim=tab[nb-1];
//int tab[]=new int[nb];
for(int i=0;i<nb;i++)
{
System.out.print("Entrez les nombres :"+(i+1)+" = ");
tab[i]=sc.nextInt();
}
flag=true;
//flag=false;
for(int i=1;i<nb-1;i++)
{
if(tab[i]!=tab[i-1]+1)
{
flag=false;
//flag=true;
}
}
//flag=true;
if(flag)
{
System.out.println("Les nombres sont consécutifs");
}
else
{
System.out.println("Les nombres ne sont pas consécutifs");
}
merci beaucoup