IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Petit programme avec des tableaux


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    Lyc�en
    Inscrit en
    Avril 2015
    Messages
    224
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par d�faut Petit programme avec des tableaux
    Bonjour � tous,

    Je n'ai jamais programm� avec des tableaux, donc je tente de traduire un algo que j'avais en "pseudo-langage". Le but est de remplir 2 tableaux T1 et T2, et de copier ces valeurs dans un tableau T3.
    J'ai fait un code, avec une fonction pour �crire le tableau T3 � la fin. Le logiciel me donne une erreur "ERROR: declare a deferred shape array with a 0 subscript" mais je n'arrive pas la r�soudre� je ne pense pas que ce soit grand chose.
    Est-ce que quelqu'un pourrait m'aider pour r�soudre ce petit probl�me ?

    Voici le code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    #include <stdlib.h>
    #include <math.h>
    #include <stdbool.h>
    #include <iostream>
    #include "ecritTableau.cpp"
     
     
    using namespace std;
     
    // variables
    int N1, N2, N3, i, j, k, y, t;
    double T1[N1];
    double T2[N2];
    double T3[N3];
     
    // Début
     
    cout << "Saisir N1 " << endl;
    cin >> N1 ;
    cout << " Saisir N2 " << endl;
    cin >> N2 ;
     
    for (i=0 ; i<=(N1-1) ; i++)
        {
            cout << "Saisir la valeur numéro " << i << " du tableau T1 : " << endl;
            cin >> T1[i] ;
        }
     
    for (j=0 ; j<=(N1-1) ; j++)
        {
            cout << "Saisir la valeur numéro " << j << " du tableau T2 : " << endl;
            cin >> T2[j] ;
        }
     
    for (k=0 ; k<=(N1-1) ; k++)
        {
           T3[k]=T1[i]; 
        }
     
    for (y=0 ; y<=(N2-1) ; y++)
        {
           T3[N1+y]=T2[y]; 
        }
    N3=N1+N2;
     
    ecritTableau(T3[], N3);
    cout << endl;
     
    //Fin
    Et voici la fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    /** Fonction qui écrit un tableau */
     
    void ecritTableau (double t[],int n)
    {
        int i;
        cout << "[" ;
        for (i=0 ; i<=n ; ++i)
            cout << t[i] << ", " ;
        cout << "]";
    }
    Merci d'avance !

  2. #2
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    D�cembre 2015
    Messages
    1 599
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 1 599
    Par d�faut
    Bonjour,

    En face de l'erreur, tu dois avoir la ligne o� elle s'est produite.
    A l��il, ligne 13 14 et 15. Un tableau en C++ doit avoir une taille connue exactement au moment de la compilation.

    Pour des tableaux dynamiques en C++, il faut faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    #include <vector>
     
    std :: vector<double> T1;
    puis T1.resize( N1 );
    A l'appel de la fonction ecritTableau : il faut faire ecritTableau( T3 , T3.size() )
    Dans la fonction ecritTableau() attention au : i <= n

    Je me r�p�te : En face de l'erreur, tu dois avoir la ligne o� elle s'est produite.

  3. #3
    Membre confirm�
    Homme Profil pro
    Lyc�en
    Inscrit en
    Avril 2015
    Messages
    224
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par d�faut
    Bonjour,

    Merci pour ton aide !

    La m�me erreur se r�p�te aux lignes 11, 12 et 13.
    J'ai tent� de faire comme tu m'as dit, mais #include <vector> engendre d�j� une erreur�

    Concernant ma fonction, pourquoi le "i<=n" n'est-il pas bon ? A cause que i je l'utilise �galement dans une boucle de mon programme ?

  4. #4
    Membre �m�rite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Juillet 2013
    Messages
    585
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    // variables
    int N1, N2, N3, i, j, k, y, t;
    double T1[N1];
    double T2[N2];
    double T3[N3];
    Comment veux-tu que le compilateur sache qelle taille il dait donner au tableaux: N1,2,3 ne sont pas initialis�s.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    cout << "Saisir N1 " << endl;
    cin >> N1 ;
    Tu fais une double utilisation des variables N ? C'est pas interdit mais �a reste chelou.
    J'ai tent� de faire comme tu m'as dit, mais #include <vector> engendre d�j� une erreur�
    Ah bon ! Sur quel compilateur bosses-tu? Il ne doit pas supporter le c++ ou l'option n'est pas activ�e?

  5. #5
    Membre confirm�
    Homme Profil pro
    Lyc�en
    Inscrit en
    Avril 2015
    Messages
    224
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par d�faut
    Ah oui donc il faut que j'entre N1 et N2 avant d'initialiser mon tableau ?

    J'utilise ChIDE, je ne sais pas trop ce que �a vaut, mais on utilise �a en cours�

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Citation Envoy� par St�phanois57 Voir le message
    Concernant ma fonction, pourquoi le "i<=n" n'est-il pas bon ? A cause que i je l'utilise �galement dans une boucle de mon programme ?
    Parce qu'en C++, comme dans la majorit� des langages, un tableau de taille N va des index 0 � N-1 inclus, donc N exclus.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  7. #7
    Membre �m�rite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Juillet 2013
    Messages
    585
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par d�faut
    Ah oui donc il faut que j'entre N1 et N2 avant d'initialiser mon tableau ?
    Oui. Et �vite d'utiliser N1 & N2 pour remplir les tableaux ensuite. Tu vas faire des confusions en permanence
    J'utilise ChIDE, je ne sais pas trop ce que �a vaut, mais on utilise �a en cours�
    M�me google ne sait pas ce que �a vaut

  8. #8
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par SkyZoThreaD Voir le message
    M�me google ne sait pas ce que �a vaut
    https://www.softintegration.com/docs/ch/chide/

    �� ressemble un peu aux IDE des ann�es 90
    d'ailleurs ils ne disent pas que c'est compatible avec C++14...

Discussions similaires

  1. Lancer un programme avec des arguments via IE...
    Par petozak dans le forum G�n�ral Conception Web
    R�ponses: 6
    Dernier message: 24/03/2006, 11h51
  2. R�ponses: 8
    Dernier message: 09/03/2006, 17h48
  3. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    R�ponses: 4
    Dernier message: 02/04/2005, 13h45
  4. [SRC] Petit programme avec BD
    Par Nico62 dans le forum C++Builder
    R�ponses: 3
    Dernier message: 10/01/2005, 20h07
  5. [Classpath][execution] executer un programme avec des jar.
    Par LoLoSS dans le forum G�n�ral Java
    R�ponses: 11
    Dernier message: 26/08/2004, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo