Problème de tableau en C

havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis débutant en programmation et je dois créer une "orgue musical" en C. J'utilise Dev_cpp.
Je dois utilisé pour cela un tableau à 2 dimensions mais je ne sais pas comment l'utiliser. 1 colonne pour les notes, une autre pour la durée des notes.

J'utilise _beep(valeur, duree); pour le son.
j'ai voulu déclaré le tableau suivant :

int tabmelodie[1][4] ={{264,100},{440,100},{297,200},{528,100},{330,100}};
mais lors de la compilation je ne passe pas.

J'ai essayé de me renseigné sur le net mais je trouve pas d'information qui pourait m'aidé et je ne sais vraiment pas commment faire.

Merci d'avance pour les réponses.
Bonne soirée
A voir également:

9 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bien tu y accèdes par tabmelodie[i][j] avec i pouvant correspondre à un entier entre 0 et 5 (non compris) et j entre 0 et 2(non compris).
1
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
int i, j, mode;
char enter;
int tabmelodie[5][2] ={{264,100},{440,100},{297,200},{528,100},{330,100}};

if (mode==2)
{
printf("mode orgue\n");
printf("appuyer sur enter pour commencer la melodie\n");
scanf("%c", &enter);
for(i=0; i<4; i++)
{
for(j=0; j<2; j++)
tabmelodie[i][j] ={{264,100},{440,100},{297,200},{528,100},{330,100}};
}
}

En ecrivant comme ça j'ai des erreurs, j'ai compris qu'il fallait incrémenté une variable mais .... :s
1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
A quoi correspondent les valeurs dans ton tableau ? Qu'est-ce que tu veux en faire ? Le code que tu as écrit n'a aucun sens... Donne plus de détails et on va voir ce qu'on peut faire...
0
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
mon tableau à 2 colonnes : une pour les notes de musique ( 264,297 etc) une autre pour la durée de ces notes. Je dois écrire une mélodie dans un tableau et ensuite la lire tout bêtement en appelant le tableau.
donc je la lis case par case en incrémentant une variable.

Mon code veut pas dire grand chose parce que je ne sais pas comment m'y prendre avec les tableau
int main()
{

int i, j, mode;
int tabmelodie[5][2] ={{264,100},{440,100},{297,200},{528,100},{330,100}}; // {Note, duree}

printf("mode orgue\n");
printf("appuyer sur 2 pour commencer la melodie\n");
scanf("%i", &enter);

for(i=0; i<4; i++)
{
for(j=0; j<2; j++)
tabmelodie[i][j] ={{264,100},{440,100},{297,200},{528,100},{330,100}};
} // j'essaie d'appelé le tableau avec une variable que j'incrémente pour qu'il me lise les notes :s

}


j'espere que mes explications sont claires. Je dois jouer de la musique avec le beeper du pc, donc je devrai aussi utilisé le _beep(valeur, duree);

merci de ton aide
1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Voici un code fait à l'arrache qui répondra peut-être à ta question.
A toi de l'adapter pour comprendre.
SInon, quand tu postes un code, n'oublie pas d'utiliser le bouton de conservation de l'indentation (à droite de souligner), sinon c'est illisible.
int main(void){
int i, j, mode;
int enter;
int tabmelodie[5][2] ={{264,100},{440,100},{297,200},{528,100},{330,100}}; // Note, duree

printf("mode orgue\n");
printf("appuyer sur 2 pour commencer la melodie\n");
scanf("%i", &enter);
if(enter==2){
  for(i=0; i<5; i++)
  {
     for(j=0; j<2; j++)
         printf(%d ,tabmelodie[i][j]);
     puts("");
  }
return 0;
}
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour tes réponses, je vais travaillé sur ce que tu m'as filé, j'espère que j'y arriverais.
En tout cas merci pour ton aide et je ferais plus attention pour posté mes codes

a+
1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Essaie ça :
int tabmelodie[2][4] ={{264,100},{440,100},{297,200},{528,100},{330,100}};
-1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Voir même
int tabmelodie[5][2] ={{264,100},{440,100},{297,200},{528,100},{330,100}};

;)
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
C'est pas faux fiddy... Je vais apprendre à compter et je reviens ^^ !
0
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour la rapidité de vos réponses

Voici mon code :

int main()
{
int mode, duree, valeur;
char enter;
int tabmelodie[2][4] ={{264,100},{440,100},{297,200},{528,100},{330,100}};
printf("piano musical\n\n");
printf("mode piano : tapez 1\n");
printf("mode orgue : tapez 2\n");
scanf("%i", &mode);

if (mode==1)
jouer_clavier ();
else
printf("mode orgue\n");
printf("appuyer sur enter pour commencer la melodie\n");
scanf("%c", &enter);

//tableau ????

system("pause");
return 0;
};
en utilisant int tabmelodie[2][4] ={{264,100},{440,100},{297,200},{528,100},{330,100}};

j'ai les erreurs suivantes :

[Warning] excess elements in array initializer
[Warning] (near initialization for `tabmelodie')

vos solutions me donne ces erreurs :(
peut etre qu'avec mon code ça vous aidera plus.

Ps le sous programme jouer clavier consiste a jouer note par note sur le pad numérique mais je n'ai pas eu de problème à créer celui ci.

Mon but est donc de passé dans un 2 eme cas ou je peu jouer une melodie.

merci pour votre participation.
-1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Teste ma solution aussi ;)
-1
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai testé :) mais ça me fait exactement le même pb :s
-1
havoc31 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
ah non aparament en bougeant un truc, je sais aps quoi ça a l'air de marché fiddy :), mais maintenant je sais pas trop comment m'en servir de ce tableau pour lire ce qu'il y a dedant :s
-1