Suite de Conway [Langage C]
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Suite de Conway [Langage C]



  1. #1
    Phaaze

    Suite de Conway [Langage C]


    ------

    Bonjour tout le monde

    D'avance désolé pour l'orthographe qui malgré mes efforts ne doit pas être au top.... bref
    Ceci est mon 1er post sur ce forum donc soyez indulgent svp ;D

    Je Travaille sur un programme qui afficherai les n 1er rangs de la Suite de Conway, Le programme me semble bon et pourtant...
    En effet au moment de la compilation mon compilateur (gcc) me retourne des erreurs au niveau de mes "malloc" qui sont tous faut...
    Je ne comprend pas ou est mon erreur et si quelqu'un pouvais m'éclairer il serait vraiment cool

    Merci d'avance


    Mon .H :
    Code:
    #include <stdio.h>
    
    #include <stdint.h>
    
    typedef struct elm
    
        {
    
    		int Val;
    
    		struct elm *suivant;
    
        } element;
    
    typedef element* list;
    
    
    
    typedef struct uni
    
        {
    
    		int Val1;
    
    		int Val2;
    
    		struct uni *suivant;
    
        }unit ;
    
    typedef unit* Dlist;
    
    Dlist scan(list L);
    list compose(Dlist L);
    list AjtTetelist(list L, int N);
    Dlist AjtTeteD(Dlist L, int N1, int N2);
    list init(int N);
    void display(list L);


    ET Mon .C
    Code:
    #include "Conway.h"
    
    
    
    
    int main()
    
    {
    
    	system("CLS");
    	int n,count=0;
    	list Conway = (list)malloc(sizeof(element));
    	Dlist PASS = (Dlist) malloc(sizeof(unit));
    	Conway=init(1);
    
    	printf("Calcul de la suite de Conway jusque à quel rang n ?");
    	scanf("%d",&n);
    	for(count=0;count<=n;count++)
    	{
    		PASS=scan(list Conway);
    		Conway=compose(PASS);
    	}
    	display(Conway);
    
    }
    
    
    
    Dlist scan(list L)
    
    {
    
    	int k=L->Val, Compteur=1, Valeur;
    
    	Dlist Tab=(Dlist) malloc(sizeof(unit));	
    
    	while(L->suivant!=NULL)
    
    	{
    
    		Valeur = L->Val;
    
    		while(L->Val=L->suivant->Val)
    
    		{
    
    			Compteur++;
    
    			L=L->suivant;
    
    		}
    
    		Tab=AjtTeteD(Tab,Compteur,Valeur);
    
    		L=L->suivant;
    
    	}
    
    	return Tab;
    
    }
    
    
    
    list compose(Dlist L)
    
    {
    
    	int J=0;
    
    	list Listefinal;
    
    	while(L->suivant!=NULL)
    
    	{
    
    		for(J=0;J<=L->Val1;J++)
    
    		{
    
    			AjtTetelist(Listefinal, L->Val2);
    
    		}
    
    		L=L->suivant;
    
    	}
    
    	return Listefinal;
    
    }
    
    
    
    list AjtTetelist(list L, int N)
    
    {
    
    	if(L=NULL)
    
    	{
    
    		list temp = (list) malloc(sizeof(element));
    
    		temp->suivant=NULL;
    
    		temp->Val=N;
    
    		return temp;
    
    	}
    
    	else
    
    	{
    
    		list Lbis=L;
    
    		while(L->suivant!=NULL)
    
    		{
    
    			L=L->suivant;
    
    		}
    
    		list temp=(list)malloc(sizeof(element));
    
    		temp->suivant=NULL;
    
    		temp->Val=N;
    
    		return Lbis;
    
    	}
    
    }
    
    
    
    Dlist AjtTeteD(Dlist L, int N1, int N2)
    
    {
    
    	if(L=NULL)
    
    	{
    
    		Dlist temp=(Dlist)malloc(sizeof(unit));
    
    		temp->suivant=NULL;
    
    		temp->Val1=N1;
    
    		temp->Val2=N2;
    
    		return temp;
    
    	}
    
    	else
    
    	{
    
    		Dlist Lbis=L;
    
    		while(L->suivant!=NULL)
    
    		{
    
    			L=L->suivant;
    
    		}
    
    		Dlist temp=(Dlist)malloc(sizeof(unit));
    
    		temp->suivant=NULL;
    
    		temp->Val1=N1;
    
    		temp->Val2=N2;
    
    		return Lbis;
    
    	}
    
    }
    
    
    
    
    
    list init(int N)
    {
    	list temp=(list)malloc(sizeof(element));
    
    	temp->suivant=NULL;
    
    	temp->Val=N;
    	return temp;
    }
    
    
    
    
    void display(list L)
    {
    	while(L->suivant!=NULL)
    	{
    		printf("%d",L->Val);
    	}
    	printf("\n");
    }

    -----

  2. #2
    Jack
    Modérateur

    Re : Suite de Conway [Langage C]

    T'aider serait plus simple si tu nous donnais le contenu des messages d'erreur

  3. #3
    Phaaze

    Re : Suite de Conway [Langage C]

    Je fais ça tout de suite

  4. #4
    Phaaze

    Re : Suite de Conway [Langage C]

    Par exemple ils me retourne ce type d’erreur : Projet.c :
    In fonction 'Scan' :
    Projet.c 24:20: Warning: incompatible implicit déclaration of built-in function 'malloc'
    Dlist Tab=(Dlist) malloc(sizeof(unit));

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Suite de Conway [Langage C]

    Tu as mis #include <stdlib> ?

  7. #6
    Phaaze

    Re : Suite de Conway [Langage C]

    Ah c'est pour ça, e ne savais pas que malloc dépendais ce cette bibliophilique, j'ai cherché 5 heures pour rien...
    Merci en tout cas

  8. #7
    Jack
    Modérateur

    Re : Suite de Conway [Langage C]

    De plus, ce n'est qu'un warning, ce qui ne devrait pas empêcher la génération d'un exécutable

  9. #8
    Jack
    Modérateur

    Re : Suite de Conway [Langage C]

    Citation Envoyé par Phaaze Voir le message
    Ah c'est pour ça, e ne savais pas que malloc dépendais ce cette bibliophilique, j'ai cherché 5 heures pour rien...
    Merci en tout cas
    Tu tapes "man malloc" dans ton navigateur préféré quand tu hésites, et tu auras la réponse

  10. #9
    Phaaze

    Re : Suite de Conway [Langage C]

    Ah je ne savais pas pour le coup du Warning (j'ai des lacunes en C désolé..)
    Bah en fait je n'ai pas du tout cherché dans cette direction...

  11. #10
    Jack
    Modérateur

    Re : Suite de Conway [Langage C]

    D'une manière générale, il vaut mieux faire en sorte de n'avoir aucun warning

Discussions similaires

  1. Differences entre le langage C et le langage Arduino
    Par Batpillou dans le forum Électronique
    Réponses: 7
    Dernier message: 19/03/2015, 21h44
  2. Langage C et langage HTML
    Par physik_theory dans le forum Programmation et langages, Algorithmique
    Réponses: 19
    Dernier message: 12/08/2013, 19h07
  3. de langage C en langage assembleur
    Par invite284746c1 dans le forum Électronique
    Réponses: 1
    Dernier message: 14/05/2009, 12h42
  4. Programmation jeu de vie de conway en C
    Par cos dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 09/01/2007, 09h40