Accueil > Forum > > > > probleme de boucle :'(
probleme de boucle :'(
dimanche 27 avril 2008 à 18:10:17 |
probleme de boucle :'(

paulina82
|
Bonjour a tous. j'ecri un programme pour coder des caracteres. comme j'arivais pas avec strcat j'ai esayé une autre methode. c'est deja mieu mais c'est pa encor ca :( je pense qu'il y a un probleme avec ma boucle. mais je sais pas comment le coriger. en gros mon programme consiste a coder des caracteres. le but c'est de faire la fonction 'construction_binaire' .elle doi remplire un tableau a 2 dimension. pour cela on utilise une fonction 'codage' qui rempli des colonnes. elle met des '0' du "debut" jusqu'a "k" et des "1" de "k+1" jusqu'a "fin". donc qund on execute 'construction_binaire' dans la 1er colonne je devrais avoir des '0' jusqu'a "k" et des '1' ensuite. ensuite dans la 2eme colonne on doit redecoupe la plage des '0' et des '1' et ainsi de suite dans chaque colonne tan que on puise plus decoupé. dans mon exemple je devrait obtenir : 00000 00001 0001 0010 0011 010 011 100 101 11 mais voila ce que j'obtient : 000000000 000000001 00011111 001 001 01 01 1 1 1 si quelqu'un sais que ce qui cloche ca seré super sympa car je n'arive vraiment pas. je vous remercie d'avance pour votre reponse
|
|
dimanche 27 avril 2008 à 18:15:45 |
Re : probleme de boucle :'(

paulina82
|
Oups j'ai oublié de joindre le prog :/ #include #include #include #include #include #include #include #include #include #define L 10 #define C 10 int cpt=0; void trier_croissant(int tab[],int taille); int indice_coupure(int tableau[], int g, int d); void codage(char tab[L][C],int tab_freq[],int debut,int fin,int colonne); void initialisation(char tab[L][C]); void construction_binaire(char tab[L][C], int tab_freq[],int debut,int fin); void trier_croissant(int tab[],int taille){ int i,j; int min; int temp; for(i=0; i<= d) { if (SommeG < SommeD) { SommeG += tableau[g]; g++; } else { SommeD += tableau[d]; d--; } } indice=g-1; return indice ; } void codage(char tab[L][C],int tab_freq[],int debut,int fin,int colonne){ int k,i,j; k=indice_coupure(tab_freq, debut,fin); for(i=debut;i<=k;i++){ tab[i][colonne]='0'; } for(j=k+1;j<=fin;j++){ tab[j][colonne]='1'; } /* for (i=0;i<10;i++){ for(j=0;j<10;j++){ printf("%c",tab[i][j]); } printf ("\n"); } */ } void initialisation(char tab[L][C]){ int i,j ; for(i=0;i= 1){ codage( tab,tab_freq, tab_k[j],tab_k[j+1],i); k=indice_coupure(tab_freq, tab_k[j],tab_k[j+1]); tab_k[nb_element+1]=k; } } nb_element++; trier_croissant(tab_k,nb_element+2); } } int main (int argc, char ** argv){ int tab_frequence[10]={1,2,3,4,5,6,7,8,9,10}; char tab[L][C]; int i,j; initialisation(tab); construction_binaire( tab, tab_frequence,0,9); for(i=0;i<10;i++){ for(j=0;j<10;j++){ printf("%c", tab[i][j]); } printf("\n"); } printf("\n"); return (EXIT_SUCCESS); }
|
|
dimanche 27 avril 2008 à 18:24:27 |
Re : probleme de boucle :'(

paulina82
|
je m'excuse pour le format. c'est a cause de knopix qui a enlevé tout les passages a la ligne. je redone le code :
#include <stdio.h> #include <math.h> #include <string.h> #include <sys/types.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <stdlib.h> #include<sys/stat.h>
#define L 10 #define C 10
int cpt=0;
void trier_croissant(int tab[],int taille); int indice_coupure(int tableau[], int g, int d); void codage(char tab[L][C],int tab_freq[],int debut,int fin,int colonne); void initialisation(char tab[L][C]); void construction_binaire(char tab[L][C], int tab_freq[],int debut,int fin);
void trier_croissant(int tab[],int taille){ int i,j; int min; int temp;
for(i=0; i<taille ; i++){ for(j=i;j<taille; j++){ min=tab[i];
if(tab[j]<min){ min=tab[j]; temp=tab[i]; tab[i]=min; tab[j] = temp;
} } } }
int indice_coupure(int tableau[], int g, int d) { int SommeG = 0; int SommeD = 0; int indice; while (g <= d) { if (SommeG < SommeD) { SommeG += tableau[g]; g++; } else { SommeD += tableau[d]; d--; } } indice=g-1; return indice ; }
void codage(char tab[L][C],int tab_freq[],int debut,int fin,int colonne){ int k,i,j;
k=indice_coupure(tab_freq, debut,fin);
for(i=debut;i<=k;i++){ tab[i][colonne]='0'; }
for(j=k+1;j<=fin;j++){ tab[j][colonne]='1'; } /* for (i=0;i<10;i++){ for(j=0;j<10;j++){ printf("%c",tab[i][j]); } printf ("\n"); } */ }
void initialisation(char tab[L][C]){
int i,j ; for(i=0;i<C;i++){ for(j=0;j<L;j++){ tab[i][j]=' '; } } }
void construction_binaire(char tab[L][C], int tab_freq[],int debut,int fin){
int k,i,j;
int tab_k[C]; int nb_element=1; tab_k[0]=debut; tab_k[1]=fin; for (i=1;i<10;i++){ for(j=0;j<nb_element;j++){ if((tab_k [j+1] - tab_k[j]) >= 1){ codage( tab,tab_freq, tab_k[j],tab_k[j+1],i); k=indice_coupure(tab_freq, tab_k[j],tab_k[j+1]); tab_k[nb_element+1]=k;
} } nb_element++; trier_croissant(tab_k,nb_element+2); }
}
int main (int argc, char ** argv){ int tab_frequence[10]={1,2,3,4,5,6,7,8,9,10}; char tab[L][C]; int i,j; initialisation(tab); construction_binaire( tab, tab_frequence,0,9); for(i=0;i<10;i++){ for(j=0;j<10;j++){ printf("%c", tab[i][j]); } printf("\n"); } printf("\n"); return (EXIT_SUCCESS);
}
|
|
dimanche 27 avril 2008 à 18:30:01 |
Re : probleme de boucle :'(

paulina82
|
je cvous redone le resultat : ce que je devrais avoir : 00000 00001 0001 0010 0011 010 011 100 101 11
mais voila ce que j'obtient : 000000000 000000001 00011111 001 001 01 01 1 1 1
|
|
Cette discussion est classée dans : boucle, programme, probleme, colonne, coder
Répondre à ce message
Sujets en rapport avec ce message
Probleme Boucle for [ par centaure59 ]
Bonjour,je débute en C, l'habitude je programme en visual basic.Je suis en train de faire un programme pour un pic 16f88,mon probleme je n'arrive pas
Probleme pour un programme (jule cesar) [ par skill59 ]
Bonsoir à tous, Voici mon programme: // Codage Jules César #include #include using namespace std; int main() { int i,longueur; string cla
besoin d'aide pour un probleme avec les liste chainees [ par boulhech27 ]
bonjou à tous. voici mon probleme. je n'arrive pas à trouver comment chercher le nombre d'occurence dans ma liste chainéevu que je copie des string d'
mettre mon programme dans une boucle [ par flowneo ]
bonjour, ce programme permet de donner le nombre de "e" dans un mot grâce à une fonction, mais il faudrait que je fasse une boucle pour qu'a chaque f
j'ai un probleme (text en coleur) [ par zaitaahmed ]
Bonjour, je suis etudiant dans la 1ere année université,j'ai un probleme dans ma Bibliothèque exactement le fichier ( conio.h ou conio.c),parce que j
probleme pour compiler un programme [ par astrocybernaute ]
salut je suis interessée par un programme deposé sur le site sur ce lien : http://www.cppfrance.com/codes/IA-APPRENTISSAGE-AUTOMATISE-BCPLUSPLUS-V6_
Probleme urgent !! [ par julnad ]
Mon problème est que j'ai réalisé un programme en C et qu'il faut le traduire en C++. L'important est qu'il faut le faire rapidement et le C++ c'est p
Probleme sur un programme qui calcule un pgcd [ par El loco ]
Voila j ai un probleme sur le programme suivant, il marche correctement avec une grande serie de nombres mais quand je tape 15 et 32 il me donne un pg
probleme de boucle!!! :( [ par matteokun ]
matteokunBonjour,Je suis débutant en C++ et j'essai de réaliser le jeu du pendu en C++ mais je rencontre quelques difficultées sur une boucle...Biensu
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|