begin process at 2012 05 29 19:56:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Occurence d'un caractére ds un tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Occurence d'un caractére ds un tableau

mercredi 27 décembre 2006 à 20:55:03 | Occurence d'un caractére ds un tableau

ender08450

Bonjour à tous.
mon programme rentre tous les caractéres d'un fichier texte dans un tableau à une dimension. Ca ca marche.
Je voudrais compter le nombre d'espace dans le tableau, le code ASCII de l'espace est 32, mais j'ai du mal à m'en servir.(je ne peux utiliser que des fonction simples) Un peu d'aide pliz...:D


#include<stdio.h>                                
#include<string.h>                                
#include<stdlib.h>    
#include<iostream.h>     //je sais y en a un peu trop, mais ca me servira plus tard.
#include<conio.h>
#include<math.h>                

#define MAX 1000    // Nombre maximal de caractére du texte à mettre ds le tableau



int main()
{
    FILE *fichier;
    char nomfichier[100];
    char Tab[MAX];
    int i=0,j=0;

//Ouvre le fichier texte.    
    cout<<endl<<"Saisissez le nom du fichier a ouvrir: ";
    cin>>nomfichier;
    
    fichier = fopen(nomfichier,"r");
           
//remplis le tableau des caractéres du fichier.
    while(!feof(fichier))
    {        
        fscanf(fichier,"%c",&Tab[i]);
        i=i+1;
    }   

//je compte le nombre de mot en comptant le nombre d'espace; code ascii égale 32.    
    i=0; //i me permet de passer en revue le tableau
    while(i<MAX)
    {                   
         if(Tab[i]=='32') //c'est ici que ca plante,  j'ai écrit ca mais je suis pas sur du tout
              j=j+1;  //j est mon compteur d'espace  
    
    i=i+1;                       
    }
    
    cout<<"le nombre de mot est de: "<<j<<endl;
    cout<<Tab;
        
    system("PAUSE");
    return 0;

}

mercredi 27 décembre 2006 à 21:02:39 | Re : Occurence d'un caractére ds un tableau

pepsidrinker

tu a mis des guillement sur ton 32....

Pepsidrinker
mercredi 27 décembre 2006 à 21:08:25 | Re : Occurence d'un caractére ds un tableau

ender08450

oups, merci ! j'ai confondu entre les caractéres qu'on met entre guillemet et les codes ascii .

Le programme se lance mais ne m'affiche pas le bon nombre d'occurence. Voyez-vous un autre probléme dans mon programme ?
mercredi 27 décembre 2006 à 21:19:44 | Re : Occurence d'un caractére ds un tableau

SAKingdom

Membre Club
ça ne peut pas fonctionner:

1. On ne compare jamais quoi que ce soit avec une chaine de caractère. Il faut utiliser strcmp ou similaire, car lors de la compilation, la chaine dans le code sera transformé en une adresse (adresse qui pointera sur la zone mémoire qui contien la chaine) donc:
if(toto == "salut") sera transformer (pseudo code) if(toto == 0x52351512) ce qui sera probablement toujours faux.

2. Tu "compare" un caractère (Tab[i]) avec un nombre qui en contien 2. Ça ne sera jamais vrai.

Je crois que tu n'as pas bien assimilé la matière de tes cours. Peut-être devrais tu réviser certaines notions.

C++ (@++)

mercredi 27 décembre 2006 à 21:24:05 | Re : Occurence d'un caractére ds un tableau

pepsidrinker

Une fois les guillement enlevé il me donne le bon nombre d'espace...

Pepsidrinker
mercredi 27 décembre 2006 à 21:30:36 | Re : Occurence d'un caractére ds un tableau

ender08450

je ne compare pas avec le chiffre 32 mais avec le code ascii de l'espace qui est 32. Pepsidrinker me l'avait fait remarquer. je le dis dans le post suivant.

Et, (je dis peut-etre des bétises, surement d'ailleur) je ne compare pas toute une chaine, mais caractére par caractére d'une chaine.

Apres modification dans mon programme, j'obient le bon nombre d'espace mais toujours augmenté de 8. quand il y a 2 espace, ca m'affiche 10, quand y en a 40 ca m'affiche 48 ....
mercredi 27 décembre 2006 à 21:33:51 | Re : Occurence d'un caractére ds un tableau

SAKingdom

Membre Club
Oups, j'avais pas vue le commentaire dans le code...

C++ (@++)

mercredi 27 décembre 2006 à 21:36:56 | Re : Occurence d'un caractére ds un tableau

SAKingdom

Membre Club
Pour ton problème:

while(i && i<MAX)
{                   
    if(Tab[i] == 0x20) j++;
    i++;                  
}

C++ (@++)

mercredi 27 décembre 2006 à 21:39:35 | Re : Occurence d'un caractére ds un tableau

SAKingdom

Membre Club
pardon:
while(Tab[i] && i<MAX)
{                   
    if(Tab[i] == 0x20) j++;
    i++;                  
}

C++ (@++)

mercredi 27 décembre 2006 à 21:54:09 | Re : Occurence d'un caractére ds un tableau

ender08450

merci SAKingdom, Tab[i] dans le while ca fonctionne.
J'ai pas trop saisit pourquoi il fallait rajouter ca mais ca fonctionne.



1 2

Cette discussion est classée dans : fichier, nombre, tableau, espace, include


Répondre à ce message

Sujets en rapport avec ce message

Tableau de correspondance des fonctions c++ et de leur fichier #include [ par guguy ] BonjourJ'aimerais savoir s'il serait possible de trouver un tableau de correspondance entre les fonctions c++ et leur fichier #include (ex : cout -> i caractére d'un fichier dans un tableau [ par ender08450 ] /* En gros, ce que je voudrais faire: L'utilisateur rentre le nom d'un fichier texte, et le programme que j'essai de fairedois rentrer tous les caraté récupération d'un fichier dans un tableau [ par dgac ] Bonjour j'ai essayé le code suivant[CODE] #include&lt lecture fichier texte et mettre le resulat dans un tableau. [ par walidaydi ] bonjour, j'ai un fichier texte qui contient des nombres réels séparés par un espace. comme ca: 124.31611622563169 161.22159929707496 186.9616408968881 mettre un fichier texte dans un tableau en C [ par snake57 ] Bonjour à tous, je me suis fais 3 petite fonction. La première me permet de récupérer le nombre de ligne dans un fichier texte. La seconde me renvoie aide débutant tableau [ par robot6axes ] Bonjour à tous, Dans le cadre d'un TD je dois taper un programme en C++ sur le tri par distribution. Je vous explique en quoi cela consiste: Pour tri calculs tableau [ par 3463 ] Salut à tous !! J'ai besoin de votre aide [^^happy13] Voici mon programme : # include # include # include # include # include # include # incl comment lire et ecrire un tableau de structure sur un fichier en C [ par DBA2010 ] salut à tout le monde, je suis entrain de faire un programme de gestion des étudiants,et je suis besoin de savoir comment faire pour lire et écrire u probleme avec Doxygen [ par Emcy ] Bonjour, J'ai un projet avec des dossiers et sous-dossiers. Dans mon IDE, j'ai des 'Include Search Path' de définis pour que le compilateur sache où déclarer tableau 2D avec dimensions variables en C++ [ par vvdbvivien07 ] Bonjour, Comment faire pour déclarer (dans une classe) un tableau 2D avec ses deux dimensions variables ? voici mon .h : [code=cpp]#ifndef DEF_IMAGE


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,942 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales