C : Chiffres distincts dans un tableau d'int
Résolu
oliobs
Messages postés
17
Statut
Membre
-
Char Snipeur Messages postés 10112 Statut Contributeur -
Char Snipeur Messages postés 10112 Statut Contributeur -
Bonjour à tous , merci de vous intéresser à mon problème ^^
En cette période de préparation d'examens, j'ai décidé de refaire les exercices que j'avais eu en cours ...
un de ces exercices consistait à remplir un tableau à deux dimensions de nombres aléatoires et distincts. pour résoudre l'exercice j'avais parcouru le tableau comme un vecteur et cela fonctionnait très bien ... seulement le professeur m'a gentiment retiré quelques points pour ça . . . J'ai donc essayé de le refaire en utilisant le même principe mais ça ne fonctionne pas une fois que le tableau devient trop grand..
Pouvez vous m'aider, me dire ce qui cloche dans mon algorithme et/ou comment l'améliorer .
Merci d'avance :) .
Petite remarque: avant le début de cette année je n'avais aucune notion de programmation, aussi à l'heure actuel mon niveau de connaissance se maintient à ce que j'ai vu en cours (Actuellement: les tableaux de char)
NB:S'il existe une fonction qui effectue la même chose, je veux bien la savoir mais l'intérêt ici est de réussir à le faire par moi même, pour apprendre. Merci
Voici l'énoncé et l'algorithme :
/*celui ci a l'air de fonctionner comme je vous l'ai dis mais si je l'effectue avec un tableau de [10][10] le programme ne plante pas mais n'affiche rien , comme s'il cherchait toujours un résultat*/
En cette période de préparation d'examens, j'ai décidé de refaire les exercices que j'avais eu en cours ...
un de ces exercices consistait à remplir un tableau à deux dimensions de nombres aléatoires et distincts. pour résoudre l'exercice j'avais parcouru le tableau comme un vecteur et cela fonctionnait très bien ... seulement le professeur m'a gentiment retiré quelques points pour ça . . . J'ai donc essayé de le refaire en utilisant le même principe mais ça ne fonctionne pas une fois que le tableau devient trop grand..
Pouvez vous m'aider, me dire ce qui cloche dans mon algorithme et/ou comment l'améliorer .
Merci d'avance :) .
Petite remarque: avant le début de cette année je n'avais aucune notion de programmation, aussi à l'heure actuel mon niveau de connaissance se maintient à ce que j'ai vu en cours (Actuellement: les tableaux de char)
NB:S'il existe une fonction qui effectue la même chose, je veux bien la savoir mais l'intérêt ici est de réussir à le faire par moi même, pour apprendre. Merci
Voici l'énoncé et l'algorithme :
/*Ecrire un logiciel qui alimentera un tableau de 5X4 d'entier aléatoire compris entre 8 et 53. Le logiciel affichera ensuite ce tableau et l'addition pour chaque ligne et chaque colonne.*/ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { srand(time(NULL)); int tab[5][4]={0}; int o,tmp=0,p,l,c; /*ici on initialise une variable temporaire, on va vérifier si elle existe déjà dans le tableau si non, on l'y insérera*/ for(l=0;l<5;l++) { for(c=0;c<4;c++) { tmp=(rand()%(30)+1); /*ici on va parcourir le tableau en entier pour vérifier la présence de la variable tmp*/ for(o=0;o<5;o++) { for(p=0;p<4;p++) { /*si tmp existe déjà on lui redonne une nouvelle valeur et on refais un parcours*/ if(tab[o][p]==tmp) { tmp=(rand()%(30)+1); o=0; p=0; } } } tab[l][c]=tmp; } } /*affichage du tableau*/ for(l=0;l<5;l++) { for(c=0;c<4;c++) { printf("%d\t",tab[l][c]); } printf("\n"); } system("pause"); }
/*celui ci a l'air de fonctionner comme je vous l'ai dis mais si je l'effectue avec un tableau de [10][10] le programme ne plante pas mais n'affiche rien , comme s'il cherchait toujours un résultat*/