A voir également:
- Résultat incorrect
- Lexer resultat - Télécharger - Sport
- Resultat foot - Télécharger - Vie quotidienne
- Casio fx 92 resultat sans fraction ✓ - Forum calculatrices
- Resultat loto 5/90 ✓ - Forum Excel
- Generateur de combinaison du loto 5/90 - Forum Excel
2 réponses
Utilisateur anonyme
Modifié par EchoIsON le 3/03/2016 à 13:46
Modifié par EchoIsON le 3/03/2016 à 13:46
Bonjour.
Pourrais-tu :
1- Mettre un peu d'ordre dans ton programme, sauter des lignes, aérer et l'entrer avec les balises code c et /code.
2- Nous expliquer, eventuellement, ce qu'il est censé faire (à travers des commentaires, ou pas).
Merci.
EDIT : Je me suis permis de mettre un minimum d'ordre pour ceux qui voudraient également aider :
<\EchoIsON>
Pourrais-tu :
1- Mettre un peu d'ordre dans ton programme, sauter des lignes, aérer et l'entrer avec les balises code c et /code.
2- Nous expliquer, eventuellement, ce qu'il est censé faire (à travers des commentaires, ou pas).
Merci.
EDIT : Je me suis permis de mettre un minimum d'ordre pour ceux qui voudraient également aider :
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <malloc.h> void tab (int *tab2, int nb) { int i; for (i = 1; i <= nb; i++) { printf ("Entrez les elements", tab2[i]); scanf ("%d", &tab2[i]); } } int main() { int n, nb, i, j, B[n], x[n], t[n], v[n]; /*int** h;*/ int m[100]= {2, 5, 4, 3, 9, 8}; printf("Entrez le nombre des elements\n ", nb); scanf("%d", &nb); tab(B, nb); printf("Entrez le nombre des elements\n ", n); scanf("%d", &n); tab(x, n); /*h=(int **)malloc(n*sizeof(int*));*/ /* *(h+i)=(int*)malloc(n*sizeof(int));*/ for (i = 1; i <= n; i++) { t[i] = x[i]; printf("%d\n", t[i]); } v[1] = t[1]; printf("La premiere sortie est %d\n", v[1]); for (i = 2; i <= n; i++) { for(j = i; j <= n; j++) for(int k = 1; k <= 6; k++) { t[j] = ((t[j]-t[i-1])*m[k])%B[j]; } printf("la sortie est %d\n", t[i]); } }
<\EchoIsON>
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
3 mars 2016 à 21:35
3 mars 2016 à 21:35
Bonjour,
Si tu penses que cette ligne va déclarer le tableau B[n] comme tu le désires, eh bien, c'est pas du gâteau!
Comment veux-tu que B[n] soit correct alors qu'aucune valeur n'a été attribuée à n. Dans un cas de non-initialisation, la valeur de n est quelconque; ainsi la taille de ton tableau est elle aussi quelconque. Il arrivera, dans certains cas, que ton programme plante.
D'autre part, le tableau B doit plutôt avoir la taille de nb.
Pour explorer un tableau de taille n, en C l'indice doit aller de 0 à n-1.
tab2[i] ne sera jamais affiché, il faut plutôt écrire:
printf("Entrez l'element n° %d : \n ", nb);.
Sans doute d'autres erreurs...
Bon courage.
int n, nb, i, j, B[n], x[n], t[n], v[n];
Si tu penses que cette ligne va déclarer le tableau B[n] comme tu le désires, eh bien, c'est pas du gâteau!
Comment veux-tu que B[n] soit correct alors qu'aucune valeur n'a été attribuée à n. Dans un cas de non-initialisation, la valeur de n est quelconque; ainsi la taille de ton tableau est elle aussi quelconque. Il arrivera, dans certains cas, que ton programme plante.
D'autre part, le tableau B doit plutôt avoir la taille de nb.
for (i = 1; i <= n; i++)
Pour explorer un tableau de taille n, en C l'indice doit aller de 0 à n-1.
printf ("Entrez les elements", tab2[i]);
tab2[i] ne sera jamais affiché, il faut plutôt écrire:
printf("Entrez l'element n° %d : \n ", nb);.
Sans doute d'autres erreurs...
Bon courage.
Bonsoir.
Pour explorer un tableau de taille n, en C l'indice doit aller de 0 à n-1.
Ou alors le compteur doit être strictement inférieur à n.
Sinon oui, le programme plante dés le début.
devrais être :
tout simplement non ?
Ou alors ajouter un "%d" pour afficher n, même s'il ne vaut rien à ce point du programme.
Pour l'auteur du sujet, qu'essaies-tu de faire exactement ?
Pour explorer un tableau de taille n, en C l'indice doit aller de 0 à n-1.
Ou alors le compteur doit être strictement inférieur à n.
Sinon oui, le programme plante dés le début.
printf("Entrez le nombre des elements\n ", n);
devrais être :
printf("Entrez le nombre des elements\n ");
tout simplement non ?
Ou alors ajouter un "%d" pour afficher n, même s'il ne vaut rien à ce point du programme.
Pour l'auteur du sujet, qu'essaies-tu de faire exactement ?
Bonjour,
mais mon problème n'est pas dans l'affichage d'un tableau , même que je fais votre méthode le programme m'a donne toujours le même résultat qui est 0
#include<stdio.h>
#include <stdlib.h>
# include <math.h>
#include <malloc.h>
void tab (int *tab2, int nb)/*procedure pour saisir un tableau */
{
int i;
for (i = 1; i <= nb; i++)
{printf ("entrer l'element numero \n ", tab2[i]);
scanf ("%d", &tab2[i]);
}
}
int main( )
{int n,nb,i,j,B[4],x[4],t[4],v[4];
int m[10]={2,5,4,3,9,8};
printf("entrer le nombre des elements \n ");
scanf("%d",&nb);
tab(B,nb);/*saisir un premier tableau*/
printf("entrer le nombre des elements \n ");
scanf("%d",&n);/*saisiir un deuxième tableau*/
tab(x,n);
for (i=1;i<=n;i++)
{
t[i]=x[i];
printf("%d\n",t[i]);/* on met les valeurs du deuxième tableau dans t[i]*/
}
v[1]=t[1];
printf("la premiere sorite est %d \n",v[1]);/*la première sortie égal à t[1]*/
for (i=2;i<=n;i++)
{
for(j=i;j<=n;j++)
{
for(int k=1;k<=6;k++)
{
t[j]=((t[j]-t[i-1])*m[k])%B[j];
}
}
printf("la sortie est %d \n",t[i]);/* afficher t2,t3 et t4 */
}
}
mais mon problème n'est pas dans l'affichage d'un tableau , même que je fais votre méthode le programme m'a donne toujours le même résultat qui est 0
#include<stdio.h>
#include <stdlib.h>
# include <math.h>
#include <malloc.h>
void tab (int *tab2, int nb)/*procedure pour saisir un tableau */
{
int i;
for (i = 1; i <= nb; i++)
{printf ("entrer l'element numero \n ", tab2[i]);
scanf ("%d", &tab2[i]);
}
}
int main( )
{int n,nb,i,j,B[4],x[4],t[4],v[4];
int m[10]={2,5,4,3,9,8};
printf("entrer le nombre des elements \n ");
scanf("%d",&nb);
tab(B,nb);/*saisir un premier tableau*/
printf("entrer le nombre des elements \n ");
scanf("%d",&n);/*saisiir un deuxième tableau*/
tab(x,n);
for (i=1;i<=n;i++)
{
t[i]=x[i];
printf("%d\n",t[i]);/* on met les valeurs du deuxième tableau dans t[i]*/
}
v[1]=t[1];
printf("la premiere sorite est %d \n",v[1]);/*la première sortie égal à t[1]*/
for (i=2;i<=n;i++)
{
for(j=i;j<=n;j++)
{
for(int k=1;k<=6;k++)
{
t[j]=((t[j]-t[i-1])*m[k])%B[j];
}
}
printf("la sortie est %d \n",t[i]);/* afficher t2,t3 et t4 */
}
}
Il y a toujours un problème au niveau de la syntaxe :
Tu veux afficher chaque élément de t ? Alors fait une boucle for avec i variant de du premier au dernier terme, parce-que tu ne peux pas écrire ça comme cela, et même si tu pouvais tu aurais l'affichage d'un seul terme, non de plusieurs
Pareil, tu dois ajouter %d, sinon tab2 ne sera pas affiché
A mon avis tu devrais plutot écrire quelque chose comme : Entrez l'element numero 1 etc. puis l'utilisateur entre les valeurs, parce-que tu ne peux pas demander d'entrer l'element numero tab2[i]...
printf("la sortie est %d \n",t[i]);
Tu veux afficher chaque élément de t ? Alors fait une boucle for avec i variant de du premier au dernier terme, parce-que tu ne peux pas écrire ça comme cela, et même si tu pouvais tu aurais l'affichage d'un seul terme, non de plusieurs
printf ("entrer l'element numero \n ", tab2[i]);
Pareil, tu dois ajouter %d, sinon tab2 ne sera pas affiché
A mon avis tu devrais plutot écrire quelque chose comme : Entrez l'element numero 1 etc. puis l'utilisateur entre les valeurs, parce-que tu ne peux pas demander d'entrer l'element numero tab2[i]...