Pb tableau en C

Résolu/Fermé
Coucou1504 Messages postés 60 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 12 février 2010 - 8 mai 2008 à 16:30
damlegone32 Messages postés 74 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 31 mai 2011 - 18 mai 2008 à 00:22
Bonjour,
J'ai vraiment du mal avec les tableau!
Je dois programmer le méthde d'Hörner en C mais j'ai du mal avec les tableau.
En effet avec l'aide d'un membre de ce forum g saisi mes valeurs que j'ai besoin pour la méthode d'hörner dans un tableau mais dans ce même tableau je veux rajouter des valeurs mais je ne vois pas comment faire g essayé des choses mais sans aucune reussite.
Merci à ceux qui vont m'aider.
voici mon code en C :

#include <stdio.h>
#include <stdlib.h>
#define k 10
int tableau [k][k];

void saisir(int a,int b)
{
int* tableau = (int*)malloc(a * sizeof(int));


int i,c;
printf ("Veuillez saisir le degré du polynome (nbre compris entre 0 et 5!!:");
scanf("%d",&a);
getchar();
printf ("Veuillez choisir la valeur :");
scanf("%d",&c);
getchar();
if (a>5)
{
printf ("IMPOSSIBLE");
}
else
{
for (i=0;i<a;i++)
{
printf ("Veuillez saisir les coeff de votre polynome!");
scanf("%d",tableau+i);
getchar();
}
}
for (i=0;i<a;i++)
printf("%d",tableau[i]);
}
int horner()
{
tableau[1][2]=tableau[0][1];
printf("%d",tableau[0][1]);
getchar();
}

int main()
{saisir(3,3);
horner() ;
getchar();
}
encore merci pour vos aides!!!
A voir également:

4 réponses

damlegone32 Messages postés 74 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 31 mai 2011 29
8 mai 2008 à 23:01
Salut,

Plusieurs choses bizarres dans ton code :
- Du déclare un tableau à deux dimensions comme variable globale puis ensuite ce même tableau est déclaré en mémoire dynamique avec le malloc sur une seule dimension.
- Le paramètre b de la fonction saisir n'est pas utilisé
- Le paramètre a de la fonction saisir est réaffecté (avec le scanf).

->Donc :
- A quoi servent ces paramètres si tu ne les utilises pas?
- Que veux-tu faire de ton tableau (combien de dimensions, sa taille, comment tu veux le remplir...) ?

Tu devrais m'éclairer sur ce que tu veux faire exactement pour que je puisse t'aider.

A+
0
Coucou1504 Messages postés 60 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 12 février 2010 3
15 mai 2008 à 20:28
excusez moi de n'avoir pas repondu aussitot j'ai eu une semaine chargé!!
donc je m'explique mieux et je vais remettre le bon code!!!
alors tout d'abord je dois programmer une fonction d'evaluation de polynome avec l'aide d'Hörner mais g des soucis de programmation en C. En effect je saisis mes nombres dans un tableau ( les coeff de mon polynome) mais comment faire pour les recupérer pour que je puisse les utilisé (faire des calculs!!)
voici mon code :
#include <stdio.h>
#include <stdlib.h>
#define k 10
int tab [k][k];

void saisir(int a,int b)
{
int* tableau = (int*)malloc(a * sizeof(int));


int i,c;
printf ("Veuillez saisir le degré du polynome (nbre compris entre 0 et 5!!:");
scanf("%d",&a);
getchar();
printf ("Veuillez choisir la valeur :");
scanf("%d",&c);
getchar();
if (a>5)
{
printf ("IMPOSSIBLE");
}
else
{
a=a+1;
for (i=0;i<a;i++)
{

printf ("Veuillez saisir les coeff de votre polynome!");
scanf("%d",tableau+i);
getchar();
}
}
for (i=0;i<a;i++)
printf("%d",tableau[i]);
printf("\n\n%d",tab[0][2]);
getchar();
}

int main()
{saisir(3,3);}
Je veux juste qu'on me reponde à ma questio je ne cherche pas la solution, la solution je la trouverai seule mais je bloque sur cet question!!!
Merci d'avance
Bonne soiréee!!
0
damlegone32 Messages postés 74 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 31 mai 2011 29
17 mai 2008 à 16:11
Salut,

T'as question c'est bien celle-ci ? : "Comment récupérer des nombres dans un tableau ?"
Alors c'est simple :

tu déclare un tableau d'entier (ou autre) il y a 2 manieres de faire :
1). int tableau_entier[10] -> mais il faut spécifier la taille du tableau a la déclaration.
2). int* tableau_entier; ensuite pour alloué de la mémoire a ce tableau :
tableau_entier = (int*)malloc(taille_tableau*sizeof(int)); -> Intéressant car pas besoin de connaitre la taille du tableau à la déclaration.

Pour remplir le tableau (par ex le ième élément):
tableau_entier[i] = 3;
ou avec un scanf : scanf("enter un nombre : %d",&( tableau_entier[i]));

Pour accéder a un élément du tableau (par ex le ième) :
element_i = tableau_entier[i];

Il n'empêche que ton code possède beaucoup d'incohérence (voir 1er message)

A+
0
Coucou1504 Messages postés 60 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 12 février 2010 3
17 mai 2008 à 18:57
rebonjour je pense que je me suis mal expliqué!!
En fait je pense que le code que j'ai mis ne va pas!!
voici ce que je voudrais faire :
-tout d'abord je voudrais demander à l'utilisateur d'entrer le degré de son polynome qui ne doit pas dépassé 5, ensuite il doit taper le nombre dont il veut l'image, et ensuite saisir ces coefficient suivant le degré qu'il aura choisi mais le probleme c que je n'arrivai pas à saisir ts les nombres alors on m'a conseillé de mettre dans un tableau.
-Mais maintenant je n'arrive pas à naviguer dans ce tableau!! je voudrais me servir de ce tableau qui aura à l'interieur les nombres saisies pour le remplir avec d'autre valeur mais je n'y arrive pas.
Pouvez vous me dire ce qui ne va pas dans mon code, et me dire comment faire pour naviguer dans ce tableau??
Bonne soirée
Krikri
0
damlegone32 Messages postés 74 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 31 mai 2011 29
18 mai 2008 à 00:22
Comment ca naviguer ?
j'ai tout dit : pour acceder a l'element i : tableau[i] si ton tab a deux dimension : tableau[i][j], etc...
C'est quand même pas tres compliqué.
Quand au code même remarque qu'au début : b,c jamais utilisés a est un paramètre de la fonction saisir que tu redéfini plus loin... Tu affiches tab alors qu'il n'est jamais rempli...

De plus pour remplir ton tableau fait plutot scanf("%d",&(tableau[i]));

Je te conseille egalement de donner des noms explicite a tes variables : exemple degre_polynome au lieu de a, valeur au lieu de c

Enfin s'il te plait reprends calmement ton code et essaye d'exprimer plus clairement ton but sinon je crois je je ne pourrais pas beaucoup d'aider
0