Probleme File sans pointeur - C - Programmation
Marsh Posté le 12-02-2011 à 19:02:52
Si tu n'utilises pas de pointeur c'est une copie qui va être faite à chaque fois.
Marsh Posté le 12-02-2011 à 19:53:35
Hello, merci pour ta réponse.
Le professeur nous as dit que c'était possible.
Quelques camarades ont reussi sans pointeur !
Marsh Posté le 13-02-2011 à 01:05:15
Oui oui c'est possible, c'est juste lent, error prone et pas du tout dans la philosophie du C. Ensuite si c'est ça que tu veux faire, pas de soucis.
Sinon le problème que tu as je pense c'est que quand tu itères sur tab tu commences toujours l'offset à 1, il faut commencer à 0 pour lire la première case.
Vu que tu initialises queue à 0 (et c'est très bien), tu pushes ton premier élément à l'offset 0.
Marsh Posté le 12-02-2011 à 18:20:27
bonjour à tous,
Voila j'ai un problème, je tente de faire une file sans pointeur !
Voici mon algo
je n'arrive pas a ajouter( empiler ) un élément, merci de votre aides !
#include <stdio.h>
#include <stdlib.h>
typedef struct File File;
struct File
{
int tab[10]; //le tableau
int tete; //lindice de la tete
int queue; //lindeice de la queue
};
File init(void)
{
struct File f;
int i ;
f.tete = 0;
f.queue = 0;
for (i=1; i<10; i++)
{
f.tab[i] = 0;
}
return f;
}
int vide(File f)
{
return (f.queue == f.tete);
}
int pleine(File f)
{
return(f.queue == 9);
}
File ajouter(File f, int Element)
{
f.tab[f.queue] = Element;
f.queue = f.queue + 1;
return f;
}
/*
stuct File depiler (struct File f )
{
for (i=1;i<10;i++)
{
T[i] = T[i+1];
}
return f;
}
*/
int main()
{
struct File pipou ;
int Element;
int i;
pipou=init();
// scanf("%d",&Element);
//pipou=ajouter(pipou,Element);
printf("%d",&pipou);
printf("\n\n" );
//pipou = ajouter(pipou,3);
/* for (i=1; i<11; i++)
{
printf("%d", pipou.tab[i]);
}
*/
}