Question programmation en C
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Question programmation en C



  1. #1
    invite2642195b

    Question programmation en C


    ------

    Bonjour

    Je rencontre un problème dans l'élaboration d'un programme que j'écris en C.
    J'ai créer un tableaux avec les dimensions suivantes
    n représente un nombre quelconque

    int montab[n][15] // on peut représenter le tableaux de la façon suivante


    valeur 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    indice

    0 0 . 9 4 6 8 1 0 4 5 3 2 9 1 8

    1 // remplit de façon analogue

    2 // remplit de façon analogue

    .
    .
    .
    .
    .

    n // remplit de façon analogue


    A chaque index je fais corresponde une série de 15 caractères mais moi je voudrais convertir en float chaque série de caractère des différents indexes mais je ne sais pas trop comment m'y prendre. J'ai essayé une boucle mais a chaque fois sa écrase la valeur précédente stockée dans la variable.Que faire si quelqu'un a une idée a me proposé je lui en serait reconnaissant.
    Merci

    -----

  2. #2
    invitea121f130

    Re : Question programmation en C

    ton tableau il est represente comment est ce au moyen de pointeur

  3. #3
    invite0d5bfba0

    Re : Question programmation en C

    bonjour,
    il est impossible en C de definir la taille dun tableau par une variable, pour palier a ce problem, on utilise l'allocation dynamique : malloc et free
    tout est explique ici

    voili voilou, et bonne chance
    Mc Guiloo

  4. #4
    invite2642195b

    Re : Question programmation en C

    Merci pour vos réponses mais mon problème ne se situe pas dans la définition du tableaux mais dans la conversion en float les 15 caractères que comporte chaque index par exemple pour l'indice 1 je voudrais récupérer le nombre 0.9 468104532918 et ainsi de suite pour les autre indices jusqu'à l'indice n
    Merci encore de vos réponses

  5. A voir en vidéo sur Futura
  6. #5
    zoup1

    Re : Question programmation en C

    Citation Envoyé par p4x632 Voir le message
    Merci pour vos réponses mais mon problème ne se situe pas dans la définition du tableaux mais dans la conversion en float les 15 caractères que comporte chaque index par exemple pour l'indice 1 je voudrais récupérer le nombre 0.9 468104532918 et ainsi de suite pour les autre indices jusqu'à l'indice n
    Merci encore de vos réponses
    Une chose semble claire... Ton problème n'est pas énoncé clairement.
    Je crois avoir à peu près compris ce que tu voulais faire (à tout une série détails près). Je suis sur de ne pas avoir compris ce que tu as tenté de faire pour résoudre ton problème. Je suis également sur de ne pas avoir compris ce qui te pose problème.

    Ce que je te propose, c'est de posté le bout de code que tu as testé et qui ne fonctionne pas. On verra bien ce que l'on peut en faire.
    Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.

  7. #6
    BertrandR

    Re : Question programmation en C

    Bonjour,

    Je comprends à peu près le problème sauf un point : les 15 caractères forment ils une chaîne de caractères en ASCII ou s'agit-il de 15 entiers, dans ce dernier cas comment est codé le séparateur décimal (.).
    Le type float est utilisé pour les nombres en virgule flottante en simple précision soit 8 digits, pour avoir une précision sur 15 digits il faut utiliser le type double.

    S'il s'agit de chaines de caractères en ASCII il vaudrait mieux définir un tableau de pointeurs sur des chaînes de caractères du type :

    char **montab;

    exemple en C++
    int n = 23; // nombre quelconque
    montab = new char*[n];
    for(int i = 0 ; i < n ; i++)
    montab[i] = new char[15];

    // utilisation du tableau
    montab[0] = "0.9468104532918";

    // traduction en virgule flottante
    double nombre = atof(montab[0]);

    // ...............

    // libération de la mémoire
    for(int i = 0 ; i < n ; i++) delete[] montab[i];
    delete[] montab;

    la fonction atof de la bibliothèque standard convertit une chaine de caractère en nombre en virgule flottante.

    double atof(const char *s);

  8. #7
    BertrandR

    Re : Question programmation en C

    Citation Envoyé par BertrandR Voir le message

    for(int i = 0 ; i < n ; i++)
    montab[i] = new char[17];
    Petite rectification : il vaudrait mieux allouer des tableaux de 17 caractères pour tenir compte du séparateur décimal et du caractère de fin de chaîne ('\0').
    Dernière modification par JPL ; 04/01/2007 à 15h40. Motif: Correction de balise

Discussions similaires

  1. Question sur la programmation C
    Par invitef74412c3 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 07/05/2006, 21h03
  2. Programmation
    Par invite7e1f35e9 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 24/04/2006, 13h33
  3. programmation en C
    Par esboy dans le forum Électronique
    Réponses: 15
    Dernier message: 14/04/2006, 11h32
  4. question de programmation!!!
    Par invitefe27f92b dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 19/08/2004, 22h18
  5. Programmation C#
    Par invite769675d7 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 11/01/2004, 18h08
Découvrez nos comparatifs produits sur l'informatique et les technologies.