Exercice de rectangle avec des étoiles

Signaler
Messages postés
39
Date d'inscription
mardi 5 juillet 2005
Statut
Membre
Dernière intervention
29 octobre 2008
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
bonsoir tout le monde, mon problème est le suivant: Je veux faire un petit programme qui demande a l'utilisateur la longueur et la largeur d'un rectangle pour ensuite l'affiché mais avec des étoiles *.
exemple : 4x3

****
****
****
Mon code est le suivant mais je sais pas si je suis dans le bon ou pas...

#include <stdio.h>


char rectangle[10][10];
int a,b,i,y;


int main()
{
printf("Entrez la longueur:");
scanf("%d",&a);
printf("Entrez la largeur:");
scanf("%d",&b);
i=0;
y=0;
for (i=0;i<a;i++)
{
for (y=0;y<b;y++)
{
rectangle[i][y]='*';
}
}
printf("%s %s", rectangle[i][y]);


return 0;



}
Lorsque je l'exécute il me demande la longueur et la largeur mais ensuite il m'affiche ceci: (null)
Pourquoi ? et comment je pourrais faire pour solutionner ce probleme?

Merci de m'aider...
Et bonne soirée a tous...
A voir également:

4 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Le tableau ne sert à rien:

int main()
{
printf("Entrez la longueur:");
scanf("%d",&a);
printf("Entrez la largeur:");
scanf("%d",&b);
for (i=0;i<a;i++)
{
for (y=0;y<b;y++)
{
printf("*");
}
printf("\n");
}
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

rectangle[i][y] est un pointeur de tableau
Messages postés
39
Date d'inscription
mardi 5 juillet 2005
Statut
Membre
Dernière intervention
29 octobre 2008

en effet ça marche. je n'étais pas si perdu que ça alors.
Et si j'avais voulu le faire avec un tableau ça aurait été comment? pourquoi ça ne marche pas comme j'ai fait ? Et c'est quoi un pointeur de tableau?

merci pour toutes vos réponses...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
rectangle[i][y] représente un caractère (pas un pointeur de tableau)
Avec les tableaux, il aurait aussi fallu faire un boucle (après les 2 premières)
Et surtout, ne pas oublier de mettre un null terminal à la fin de chaque ligne

for(i=0;i<a;i++)
puts(rectangle[i]);

printf("%s %s", rectangle[i][y]); n'a pas de sens car les deux %s signifient qu'il faut fournir 2 chaines en paramètres, la ou tu ne fournis que 1 caractère