tableau [Debutant] [C] - C - Programmation
Marsh Posté le 22-01-2005 à 20:16:48
il doit manquer un passage dans tes explications...
l'utilité du biniou exactement ?
dans quel contexte ?
Marsh Posté le 22-01-2005 à 22:59:20
Salut,
Je suis intéressé aussi. Mais je ne comprends pas non plus tes explications. Et pourquoi utilises-tu un fichier conio.c ?
Marsh Posté le 23-01-2005 à 00:30:59
ok je vous met une partie du sujet ca devrai etre plus claire
Ecrire un programe capable d'effectuer diverses opérations sur un tableau 2D
* la saisie du nbr de ligne (<8) et de colonnes (<8) de ce tableau
* La saisie d'un tableau d'entiers. Pas de saisie multiple d'un même entier (tout entier ne doit apparaître qu'une seul fois dans le tableau ...)
* [...]
comme je m'embrouillai pas mal a tenter de faire le 2eme point avec un tableau 2D (tab[8][8] par exemple) j'ai fait le prog si dessus avec un tableau 1D (tab[8] par ex), mais modifier ce programme pour le faire coller avec le sujet est un peut plus compliqué que prévu
. C'est pour ca que j'aimerai savoir si il est possible de trouver une solution plus simple...
Citation : |
ben c'est une habitude d'apeler conio et stdio meme si y en a pas forcement besoin, mais dans ce cas on a besoin de conio.c ...
Marsh Posté le 23-01-2005 à 01:05:25
fafounet a écrit : Il faut inclure des .h |
je me sert de Dev-C++ 4.9.9.0 qui utilise conio.c et non conio.h...
et pour se qui est de la portabilité, j'ai pas encore le niveau pour en tenir compte
Marsh Posté le 23-01-2005 à 10:46:57
hotcat a écrit : pour un exo il faut que j'arrive, entre autre, a saisir un tableau (2D) d'entier,sachant que chaque entier ne doit apparaitre qu'une seule fois dans le tableau. |
Des commentaires sur ton code:
|
Marsh Posté le 23-01-2005 à 11:19:56
ed > su tu fait du C, tu peux pas declarer des variables au milieu d'une fonction
Marsh Posté le 23-01-2005 à 11:23:31
KangOl a écrit : ed > su tu fait du C, tu peux pas declarer des variables au milieu d'une fonction |
en C99, si
Marsh Posté le 23-01-2005 à 12:05:52
a bon !
Marsh Posté le 23-01-2005 à 12:06:27
Même si on n'est pas en C99, on peut déclarer des variables en début de bloc.
Marsh Posté le 23-01-2005 à 12:08:13
http://www.montefiore.ulg.ac.be/~p [...] ndards.php
Citation : |
Marsh Posté le 23-01-2005 à 12:10:54
* FUNCTION is_in (tab, n)
*
* found := FALSE
* FOR i = 0 TO 4
* IF n = tab[i]
* found := TRUE
* ENDIF
* NEXT i
*
* RETURN found
* END FUNCTION
=> ca sert a rien de continuer a parcourir si on l'a trouvé
Marsh Posté le 23-01-2005 à 12:10:55
ha bin on en apprend tous les jour ici !
Marsh Posté le 23-01-2005 à 13:53:06
KangOl a écrit : ed > su tu fait du C, tu peux pas declarer des variables au milieu d'une fonction |
1- Je n'ai pas fait ça, j'ai défini des variables en debut de bloc, ce qui a toujours été possible en C.
2 - Ce que tu dis est permi en C99, mais je ne le fais pas pour des questions de clarté et de portablilité.
Marsh Posté le 23-01-2005 à 13:53:43
KangOl a écrit : ha bin on en apprend tous les jour ici ! |
C'est fait pour!
Marsh Posté le 23-01-2005 à 13:54:48
blackgoddess a écrit : * FUNCTION is_in (tab, n) |
Oui. Mais on peut laisser le questionneur améliorer l'algo et le code...
Marsh Posté le 23-01-2005 à 14:05:41
bon, j'ai essayé de transcrire l'algo...
Code :
|
...mais j'arrive pas a voir l'erreure dans la fonction (subscripted value is neither array nor pointer)
en tt cas merci pour l'aide !
Marsh Posté le 23-01-2005 à 14:22:38
1/ variable globale
2/ mauvais parametres a la fonction is_in
Marsh Posté le 23-01-2005 à 14:47:03
hotcat a écrit : bon, j'ai essayé de transcrire l'algo... |
Beaucoup de fautes... Version corrigée et améliorée (mais améliorable). Pose des questions si tu ne comprends pas.
|
Marsh Posté le 23-01-2005 à 14:49:28
hotcat a écrit : bon, j'ai essayé de transcrire l'algo... |
<conio.h> on t'a dit
Marsh Posté le 23-01-2005 à 14:51:43
Citation : 1/ variable globale |
c'est tres pratique les variables globales...
Citation : 2/ mauvais parametres a la fonction is_in |
je vois pas...
Citation : 3/ conio.h |
Dev-C++ ne connais par conio.h, uniquement conio.c
Citation : 4/ return found = 1; |
pareil, je vois pas où est le probleme
Marsh Posté le 23-01-2005 à 14:57:21
hotcat a écrit :
|
c'est très crade aussi, à éviter ! de toutes façons, on arrive toujours à s'en passer
hotcat a écrit :
|
bien sur que si...
qu'est ce qui te fait dire ça ?
Marsh Posté le 23-01-2005 à 15:03:08
hotcat a écrit :
|
Non, et c'est dangereux pour de multiples raisons.
Citation :
|
http://mapage.noos.fr/emdel/notes.htm#param_tab
Citation :
|
Il se trouve dans dev-cpp/include. Si il n'y est pas, il faut réinstaller le package 'conio'.
Marsh Posté le 23-01-2005 à 15:12:15
Citation :
|
Code :
|
Marsh Posté le 23-01-2005 à 15:17:21
[citation=959963,0,26]
Code :
|
[/citation]
Exact. J'en était resté à mon algo...
Je corrige ma correction!
Marsh Posté le 23-01-2005 à 15:36:20
ok je voi ou etait le probleme
y a juste
Code :
|
Marsh Posté le 23-01-2005 à 16:01:24
hotcat a écrit : ok je voi ou etait le probleme
|
La fonction is_in() retourne une valeur 0 ou 1. Cette valeur est stockée dans found (0 = not found, 1 = found)
if/while (found) est équivalent à if/while (found != 0)
Marsh Posté le 23-01-2005 à 16:07:03
Emmanuel Delahaye a écrit : |
ok je savais pas
merci a tous pour votre aide
y me reste plus qu'a faire la meme chose pour un tableau a 2D
Marsh Posté le 22-01-2005 à 19:18:59
pour un exo il faut que j'arrive, entre autre, a saisir un tableau (2D) d'entier,sachant que chaque entier ne doit apparaitre qu'une seule fois dans le tableau.
J'ai fait le prog pour un tableau à 1D mais je me demande si ca fait pas un peut "usine à gaz"
surtout que maintenant je doit le transformer pour un tableau 2D, c'est pas gagné...
voila.. je me demandais si il existe une solution un peut moins lourde qui faciliterai la convertion pour les tableaux 2D