Question sur un tableau à plusieur dimension en C
Fermé
mickmac
Messages postés
413
Date d'inscription
jeudi 25 août 2011
Statut
Membre
Dernière intervention
15 août 2019
-
21 oct. 2012 à 18:55
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 22 oct. 2012 à 15:53
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 22 oct. 2012 à 15:53
A voir également:
- Question sur un tableau à plusieur dimension en C
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Trier un tableau excel - Guide
3 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
21 oct. 2012 à 19:07
21 oct. 2012 à 19:07
C'est pas trop mal, à part que les comparaisons se font avec == pas avec =
Mais ce n'est pas nécessaire d'initialiser tes cases à 0 si tu saisis déjà des valeurs dans les cases avant de faire ton test.
Remarque : un tableau 7x7 ça se fait entre i=0 et i<7 (pas i<=7)
Mais ce n'est pas nécessaire d'initialiser tes cases à 0 si tu saisis déjà des valeurs dans les cases avant de faire ton test.
Remarque : un tableau 7x7 ça se fait entre i=0 et i<7 (pas i<=7)
mickmac
Messages postés
413
Date d'inscription
jeudi 25 août 2011
Statut
Membre
Dernière intervention
15 août 2019
6
21 oct. 2012 à 19:27
21 oct. 2012 à 19:27
Ok merci beaucoup Oui en effet pour le ==
Par contre pour le i<7 j'avais pas remarqué merci
Une autre question aussi qui n'a pas grand chose à voir
int i=0;
int valeur;
scanf("%d",&valeur);
switch(valeur)
{
case 1 : i++;
case 2 : i=2;
case 3 : i=++valeur;
default : i=(valeur>3?0:10);
C'est pour un td Je doit dire ce que renvoie i dans les cas ou valeur = 0 puis 1 puis 2 puis 3 puis 4 puis 5
pour 1 ça fait 1
pour 2 ça fait 2
pour 3 je pense que ça fait i+valeur=3
mais pour les autres cas, on utilise i=(valeur>3?0:10);
Mais je sais absolument pas ce que ça veut dire Dans le cours c'est pas marqué
Pouvez vous m'aider s'il vous plait
Par contre pour le i<7 j'avais pas remarqué merci
Une autre question aussi qui n'a pas grand chose à voir
int i=0;
int valeur;
scanf("%d",&valeur);
switch(valeur)
{
case 1 : i++;
case 2 : i=2;
case 3 : i=++valeur;
default : i=(valeur>3?0:10);
C'est pour un td Je doit dire ce que renvoie i dans les cas ou valeur = 0 puis 1 puis 2 puis 3 puis 4 puis 5
pour 1 ça fait 1
pour 2 ça fait 2
pour 3 je pense que ça fait i+valeur=3
mais pour les autres cas, on utilise i=(valeur>3?0:10);
Mais je sais absolument pas ce que ça veut dire Dans le cours c'est pas marqué
Pouvez vous m'aider s'il vous plait
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
21 oct. 2012 à 20:20
21 oct. 2012 à 20:20
C'est l'opérateur ternaire, ces deux codes sont équivalents :
i = valeur>3 ? 0 : 10; if (valeur>3) i = 0; else i = 10;
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
21 oct. 2012 à 21:34
21 oct. 2012 à 21:34
Attention, à utiliser des break; dans ton switch pour chacun de tes cases...
mickmac
Messages postés
413
Date d'inscription
jeudi 25 août 2011
Statut
Membre
Dernière intervention
15 août 2019
6
22 oct. 2012 à 12:36
22 oct. 2012 à 12:36
Aussi je doit faire une procédure qui a partir d'un tableau de lettre minuscule calcule la fréquence d'apparition de chaque caractère du tableau et la stock dans un nouveau tableau freq['a',...,'z']
Moi j'avais fait un programme qui rent quand on tape un caractère combien de fois on vois se caractère
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int nb_occ(char Tab, char caractère)
int c,nboccurence = 0,
size = strlen(chaine);
for (c = 0 ; c < size ; c++)
{
if (chaine[c] == caractère)
nboccurence ++;
}
return nboccurence;
}
Et quand o l'utilise avec le main(je remplace le tableau par .... car on avait crée une fonction pour que l'utilisateur puisse le remplir
int main()
{
char Chaine[] =.....
int nb = nb_occurence(Chaine,'a');
printf("La chaine : '%s' contient %d fois le caractère 'a'.\n", Chaine,nb);
return 0;
}
Mais mon prof à dit que c'était pas ça qu'on voulais;d'ailleur il a pas tord
Mais je vois pas trop comment faire en faite
peut etre
void fréquence(table[],freq[])
{
int i=0
int j=0
int a=0
int b=0
for (j=97;j<=123;j++)
{
for(i=0;i<cpt,i++) //cpt c'est la taille de table[] on l'vait crer avant//
{
while(table[i]%j)
{ a++
}
}
freq[c]=a
c++
i=0
a=0
}
Est ce que ça marche? Il y a t-il plus économique?
Merci
Moi j'avais fait un programme qui rent quand on tape un caractère combien de fois on vois se caractère
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int nb_occ(char Tab, char caractère)
int c,nboccurence = 0,
size = strlen(chaine);
for (c = 0 ; c < size ; c++)
{
if (chaine[c] == caractère)
nboccurence ++;
}
return nboccurence;
}
Et quand o l'utilise avec le main(je remplace le tableau par .... car on avait crée une fonction pour que l'utilisateur puisse le remplir
int main()
{
char Chaine[] =.....
int nb = nb_occurence(Chaine,'a');
printf("La chaine : '%s' contient %d fois le caractère 'a'.\n", Chaine,nb);
return 0;
}
Mais mon prof à dit que c'était pas ça qu'on voulais;d'ailleur il a pas tord
Mais je vois pas trop comment faire en faite
peut etre
void fréquence(table[],freq[])
{
int i=0
int j=0
int a=0
int b=0
for (j=97;j<=123;j++)
{
for(i=0;i<cpt,i++) //cpt c'est la taille de table[] on l'vait crer avant//
{
while(table[i]%j)
{ a++
}
}
freq[c]=a
c++
i=0
a=0
}
Est ce que ça marche? Il y a t-il plus économique?
Merci
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
Modifié par KX le 22/10/2012 à 16:09
Modifié par KX le 22/10/2012 à 16:09
"une procédure qui a partir d'un tableau de lettre minuscule calcule la fréquence d'apparition de chaque caractère du tableau"
Un bon début serait déjà de faire cette procédure, ce que je n'ai pas vu dans ton code (qui ne ressemble que très vaguement à du C)
Un bon début serait déjà de faire cette procédure, ce que je n'ai pas vu dans ton code (qui ne ressemble que très vaguement à du C)
void frequence(int freq[256], char tableau[], int tailleTableau);