Probleme Urgent C tableau a deux dimensions - C - Programmation
Marsh Posté le 12-12-2006 à 17:39:01
1] Utilise la balise [code] pour présenter ton code
2] Qu'est-ce qui ne fonctionne pas ?
3] Y'a un message ?
4] Tu compiles comment, avec quoi ?
Marsh Posté le 12-12-2006 à 17:43:30
Chaos Intestinal a écrit :
|
Bonne question
$ gcc -W -Wall -pedantic test.c |
edit : j'expliquerais bien ce qui va pas, mais faudrait un cours complet sur les pointeurs, et j'ai la flemme
zieute ici : http://mapage.noos.fr/emdel et zone le site, ça devrait t'aider
Marsh Posté le 12-12-2006 à 18:58:58
Code :
|
voila déjà la bonne déclaration de ta fonction
Marsh Posté le 13-12-2006 à 23:53:54
kojiroperche a écrit : Mon probleme consiste a renvoyer un tableau a deux dimensions creer dans mon main dans cette fonction je veux rajouter des valeurs puis que les valeurs soit sauvegardées dans le tableau est que le tableau soit réutiliser dans le main. |
T'as galéré plus de 2h sans te rendre compte que si "tab_ordi" est un tableau en 2D (un "int[][]" ), alors ce n'est certainement pas un "int *" ???
La première chose que doit faire un débutant (ce n'est pas une tare, on l'a tous été) c'est de prendre son cours/livre/internet et de LIRE. Et il n'y en a pas beaucoup de trucs à lire, il n'y en a que 4:
Même moi qui programme sous unix depuis 1988, quand j'ai voulu apprendre Python cet été, j'ai téléchargé un cours Python depuis le net, je l'ai imprimé, relié puis LU !!!
Pour ton pb, t'as 3 façons de déclarer ta fonction
PS: Le format "%ld" de "printf()" est fait pour des "long int". Pour des "int", faut utiliser "%d". Voici d'ailleurs la liste des formats pour les int et ses dérivés
(signed) int => %d
unsigned int => %u
(signed) short (int) => %hd
(unsigned) short (int) => %hu
(signed) long (int) => %ld
(unsigned) long (int) => %lu
Marsh Posté le 12-12-2006 à 17:34:17
Mon probleme consiste a renvoyer un tableau a deux dimensions creer dans mon main dans cette fonction je veux rajouter des valeurs puis que les valeurs soit sauvegardées dans le tableau est que le tableau soit réutiliser dans le main.
voiçi un exemple de programme qui est plus explicit que mon charabia maladroit çi dessus.
#include <stdio.h>
#include <stdlib.h>
int num_perso_ordi(int *tab_ordi)//apelle du tableau définie précedemment dans le main
{
tab_ordi[0][0]=1;
tab_ordi[1][0]=2;
tab_ordi[2][0]=3;
tab_ordi[3][0]=4;
tab_ordi[4][0]=5;
printf("\n.... %ld ",tab_ordi[0][0]);//affichage des differentes valeur du tableau
printf("\n %ld ",tab_ordi[1][0]);
printf("\n %ld ",tab_ordi[2][0]);
printf("\n %ld.... ",tab_ordi[3][0]);
}
int main()
{
int tab_ordi[5][5];//déclaration du tableau a 2 dimensions
num_perso_ordi(tab_ordi);//utilisation de la fonction num_perso
printf("\n.... %ld ",tab_ordi[0][0]);//affichage des valeurs ajouté dans la fonctions main pour controle
printf("\n %ld ",tab_ordi[1][0]);
printf("\n %ld ",tab_ordi[2][0]);
printf("\n %ld.... ",tab_ordi[3][0]);
}
Ayant cherché plus de 2 heures je suis légérement desespéré donc si vous pouviez corriger ma syntaxe et m'expliquer en uqoi consister mon erreur je vous en serait reconnaisant