Afficher une croix en C

Fermé
Kixool - 19 oct. 2008 à 17:14
 Kixool - 19 oct. 2008 à 20:16
Bonjour,
J'ai encore une fois besoin d'aide, je dois créer un programme qui permet d'afficher une croix de longueur de branche N, qui sera définie par l'utilisateur.Or je ne sais pas du tout comment m'y prendre j'ai testé deux ou trois choses mais c'est vraiment flou...Si vous pouviez m'éclairer...Merci.

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 843
19 oct. 2008 à 17:19
Salut,
Poste ce que tu as mis, on t'aidera après ;)
0
Voilà ce que j'ai testé, rien de très glorieux, il affiche qu'une croix a la bonne place et il faut encore celles en dessous et je ne parle même pas de la ligne qui viendra couper cette future colonne...


#include <stdio.h>

int main ()
{
    int vu=0; // Valeur entree par lutilisateur
    int vt=0; // Valeur totale de la ligne ou colonne

    printf("Entrez une valeur : \n");
    scanf("%d",&vu);
    for(vt=1 ; vt<=vu ; vt++)
    {
        printf (" ");

    }
    if(vt!=vu)printf("X\n");


return 0;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 843
19 oct. 2008 à 18:17
Re,
Si tu peux utiliser les tableaux, tu peux faire ça :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main ()
{
    int vu; // Valeur entree par lutilisateur
    int i; // Valeur totale de la ligne ou colonne
    char *buf;
    printf("Entrez une valeur : \n");
    scanf("%d",&vu);
    buf=malloc(2*vu+1);
    memset(buf,' ',2*vu+1+1);
    buf[2*vu+1]='\0';
    
    
    for(i=0;i<2*vu+1;i++){
                 buf[i]='X';
                 buf[2*vu-i]='X';
                 printf("%s\n",buf);
                 buf[i]=' ';
                 buf[2*vu-i]=' ';
    }
    free(buf);
    system("pause");
    return 0;
}

Cdlt
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
19 oct. 2008 à 18:44
Salut,

Cette fois tu n'as pas oublie free ;-))
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 843 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
19 oct. 2008 à 18:47
Pas à tous les coups ;)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
19 oct. 2008 à 18:49
Re,

C'est peut être puisqu'on n'est pas toujours free ;-))
0
Ok merci mais on a pas encore vu les tableaux donc je pense pas qu'on était censé les utilisé ici ...
Je vais essayer d'autre méthodes, apparemment on peut juste avec des boucles for et if.
0