AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
TCL C74 Series 55C743 – TV 55” 4K QLED 144 Hz Google TV (Via ODR ...
499 €
Voir le deal

 

 exercice 5

Aller en bas 
2 participants
AuteurMessage
SonnixVI
Bonne participation



Messages : 73
Localisation : int *chezmoi=&cbna;

exercice 5  Empty
MessageSujet: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 17:31

Bonjour,

Je fais des cours de C sur le site du zero et je suis rendu au exercise de tableau.Mais il y a
un exercise que je n'ais pas réussi :/

Il faut que dans le tableau que toute les valeurs soient en ordre croissant.
Code:
#include <stdio.h>
#include <stdlib.h>

void ordonnerTableau(int tableau[], int tailleTableau);

int main()
{
    int tableau[4]={4,3,2};
    ordonnerTableau(tableau,4);


    return 0;
}
void ordonnerTableau(int tableau[], int tailleTableau)
{
    //variables
    int i;
//tableau 0
if (tableau[0]<tableau[1] && tableau[2])
{
    tableau[0]=tableau[0];
    }
else if (tableau[0]<tableau[2] && tableau[0]> tableau[1])
    {
        tableau[0]=tableau[1];
    }
else if (tableau[0]>tableau[1] && tableau[2])
    {
        tableau[0]=tableau[2];
    }
//tableau1
if (tableau[1]<tableau[0] && tableau[2])
{
    tableau[1]=tableau[0];
    }
else if (tableau[1]<tableau[2] && tableau[1]> tableau[0])
    {
        tableau[1]=tableau[1];
    }
else if (tableau[1]>tableau[0] && tableau[2])
    {
        tableau[1]=tableau[2];
    }
    //tableau2
    if (tableau[2]<tableau[1] && tableau[0])
{
    tableau[2]=tableau[0];
    }
else if (tableau[2]<tableau[1] && tableau[2]> tableau[0])
    {
        tableau[2]=tableau[1];
    }
else if (tableau[2]>tableau[1] && tableau[0])
    {
        tableau[2]=tableau[2];
    }
//affichage
for(i=0;i<4;i++)
{
printf("%d\n",tableau[i]);
}
}
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 17:33

Utilise un algo de tri a bulles.
C'est facile a faire et c'est expliqué un peu partout sur le net Wink

_________________
exercice 5  Runningpotato1exercice 5  TvF6GED exercice 5  MdetltS
Revenir en haut Aller en bas
SonnixVI
Bonne participation



Messages : 73
Localisation : int *chezmoi=&cbna;

exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 19:00

J'ai vu un tutoriel en C++ de l'algo en bulle.Mais il y a une fonction que j'ai pas en C++ et je voulais vous demandez c'est quoi en C?

Code:
void ordonnerTableau(int tableau[], int tailleTableau)
{
    int tab_en_ordre=0;

    while(!tab_en_ordre)
    {
    int i=0;
    tab_en_ordre=1;
    for(i;i<tailleTableau-1;i++)
    {
        if(tableau[i]>tableau[i+1])
        {
            swap(tableau[i],tableau[i+1]);// c'est pour inverser les emplacements mais je ne sais pas c'est quoi en C
            tab_en_ordre=0;
        }
    }
    tailleTableau--;
    }
}
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 19:07

En C swap échange juste les valeurs contenues par les deux variables.

Ici l'équivalent de
swap(tableau[i],tableau[i+1]);

est donc
int temp = tableau[i];
tableau[i] = tableau[i+1];
tableau[i+1] = temp;

p2

_________________
exercice 5  Runningpotato1exercice 5  TvF6GED exercice 5  MdetltS
Revenir en haut Aller en bas
SonnixVI
Bonne participation



Messages : 73
Localisation : int *chezmoi=&cbna;

exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 20:00

Euh... pourtant il y a une boucle mais le programme ne fait que inverser la première valeur.
Revenir en haut Aller en bas
Invité
Invité




exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 21:23

je l'ai fait avec un autre algo de tri

Code:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,mem;

    int tab[8]={5,7,6,3,1,2,4,8};
    mem=0;
    for (i=0; i<8; ++i)
    {
        for (j=i; j<8; ++j)
        {
            if (tab[j]<tab[i])
            {
            mem=tab[i];
              tab[i]=tab[j];
              tab[j]=mem;
            }
        }
    }

    for (i=0; i<8; ++i)
    {
        printf("%d,",tab[i]);
    }
    return 0;
}

la dernière boucle c'est juste pour l'affichage


Dernière édition par sachem le Dim 15 Jan 2012 - 21:46, édité 1 fois
Revenir en haut Aller en bas
SonnixVI
Bonne participation



Messages : 73
Localisation : int *chezmoi=&cbna;

exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 21:42

sachem a écrit:
je l'ai fait avec un autre algo de tri

Code:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,mem;

    int tab[8]={5,7,6,3,1,2,4,8};
    mem=0;
    for (i=0; i<8; ++i)
    {
        for (j=i; j<8; ++j)
        {
            if (tab[j]<tab[i])
            {
            mem=tab[i];
              tab[i]=tab[j];
              tab[j]=mem;
            }
        }
    }

    for (i=0; i<8; ++i)
    {
        printf("%d,",tab[i]);
    }
    return 0;
}

le derniere boucle c'est juste pour l'affichage

Enfaite, il faut mettre une boucle for autour de l'algo x)

EDIT: j'ai essayé quel que chose dans ton style et ça fonctionne merci Very Happy


Dernière édition par SonnixVI le Dim 15 Jan 2012 - 21:50, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 21:45

pourquoi donc ?
Revenir en haut Aller en bas
SonnixVI
Bonne participation



Messages : 73
Localisation : int *chezmoi=&cbna;

exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  EmptyDim 15 Jan 2012 - 21:50

Car l'autre j'avais pas trop compris la boucle ouais sa va mieux avec une boucle for.Merci ! Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé





exercice 5  Empty
MessageSujet: Re: exercice 5    exercice 5  Empty

Revenir en haut Aller en bas
 
exercice 5
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exercice de Zebdal
» 8 - Petit exercice
» exercice: double saut
» exercice: faire un attractor
» Exercice : faire une barre de scrolling

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: