Disegnare un rettangolo

Tutta l'informatica

Disegnare un rettangolo

Messaggioda Blackfede » dom nov 02, 2003 10:15 pm

Ragzzi mi dovete dare una mano, ho bisogno di un programma (in c, ovviamente) che usando esclusivamente la libreria <iostream> mi disegni su schermo un rettangolo di base ed altezza definite dall'utente, la cui cornice sia composta da asterischi (*) e il "ripieno" fatto di un carattere a sclta dell'utente. Ora io sono riuscito a scrivere qualcosina che mi disegna la base inferiore e superiore, insieme all'altezza "sinistra", insomma viene fuori una roba del genere:
Codice: Seleziona tutto
*******
*
*
*******


il problema è, come faccio a fare un ciclo che mi crei tanti spazi a partire dal margine sx fino ad arrivare al punto in cui disegnare l'altezza destra?
Per il ripieno credo di avere un'idea, adesso vedo se funziona, poi vi faccio spere.
Il codice che ho scritto io è:
Codice: Seleziona tutto
#include <iostream>

int main (){
   int a,b,altezza,base;
   cout << "Base?"<< endl;
   cin >> base;
   cout << "Altezza?"<<endl;
   cin >> altezza;
   for (b=1; b<=base; b++)
    cout << "*";
   cout<<endl;
   for (a=2; a<altezza; a++)
    cout << "*"<<endl;
   for (b=1; b<=base; b++)
    cout << "*";
   return 0;
}
I troll sono solo dei dementi che finisco in /dev/null
-------------------------------------------
I video giochi non influenzano i bambini. Voglio dire, se Pac-man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva...e dopo qualche anno ci furono i rave party!
Avatar utente
Blackfede

Eroe
 
Messaggi: 1227
Iscritto il: gio gen 16, 2003 10:18 am
Località: Parma

Messaggioda Blackfede » dom nov 02, 2003 10:24 pm

Il mio tentativo di fare un "ripieno" per il rettangolo, è fallito miseramente...ragazzi sono in mano vostra! :triste:
I troll sono solo dei dementi che finisco in /dev/null
-------------------------------------------
I video giochi non influenzano i bambini. Voglio dire, se Pac-man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva...e dopo qualche anno ci furono i rave party!
Avatar utente
Blackfede

Eroe
 
Messaggi: 1227
Iscritto il: gio gen 16, 2003 10:18 am
Località: Parma

Messaggioda electric_g » lun nov 03, 2003 1:09 am

casualmente qualcuno qua lo ha già fatto quel programma... :no:


Codice: Seleziona tutto
/* Scrivere un programma che stampi un rettangolo la cui cornice sia costituita
da caratteri asterisco e la parte interna da un carattere immesso dall'utente.
Anche il numero di righe e di colonne viene deciso dall'utente. */

#include <iostream>

int main() {
   int row, col;
   char carattere;
   cout << "Inserisci il numero di colonne che vuoi disegnare ";
   cin >> col;
   cout << "\nInserisci il numero di righe che vuoi disegnare ";
   cin >> row;
   cout << "\nInserisci il carattere che vuoi disegnare ";
   cin >> carattere;
   cout << "\n";
   for (int i=1; i<=row; i++) {
      if (i==1 || i==row) {   //se è la prima o l'ultima riga, disegna solo *
         for (int j=1; j<=col; j++) cout << "*";
         if (col!=0 && row!=0) cout << "\n";
      }
      else {
         for (int j=1; j<=col; j++) {
            if (j==1 || j==col) cout << "*"; //se è la prima o l'ultima colonna, disegna *
            else cout << carattere;
         };
         if (col!=0 && row!=0) cout << "\n";
      }   
   }
   return 0;
}
Faso uebsait in piacap? su server apasi, asp su server uindou, cieseese, acatiemeelle, giavascrip, compatibii co tuti i brauser, Ecsplorer, Mozila, Fairfocs, Netscheip, Opera, uso databeis aces e maiesecuele. So drio imparare a usare linucs co Debian.
E so drio studire l'inglese...

Tradotto in veneto da bak

Immagine
Avatar utente
electric_g

Veterano
 
Messaggi: 198
Iscritto il: sab ott 18, 2003 11:46 am
Località: Parma

Messaggioda Whamoo » lun nov 03, 2003 3:59 pm

Fede, ti ho scritto un codice piu' snello e pulito, cmq quello qui sopra va benissimo :ride:

Codice: Seleziona tutto
#include <iostream>

using namespace std;

int main() {
   int rows, cols;
   cout << "Quante colonne vuoi?"<<endl;
   cin >> cols;
   cout << "Quante righe vuoi?"<<endl;
   cin >> rows;
 
   for(int x=0;x<=rows;x++){
     for(int y=0;y<=cols;y++){
       if(x==0 || y==0 || x==rows || y==cols)
    cout <<"#";
       else
    cout <<" ";
     }
     cout << endl;
   }
   return 0;
}


Ti gusta cosi? :figooo:
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Messaggioda electric_g » lun nov 03, 2003 10:48 pm

Whamoo ha scritto:Fede, ti ho scritto un codice piu' snello e pulito, cmq quello qui sopra va benissimo :ride:

Ti gusta cosi? :figooo:


:no: :no:

e il carattere di riempimento scelto dall'utente dove è??!! :scherza:
però mi piace l'if
Faso uebsait in piacap? su server apasi, asp su server uindou, cieseese, acatiemeelle, giavascrip, compatibii co tuti i brauser, Ecsplorer, Mozila, Fairfocs, Netscheip, Opera, uso databeis aces e maiesecuele. So drio imparare a usare linucs co Debian.
E so drio studire l'inglese...

Tradotto in veneto da bak

Immagine
Avatar utente
electric_g

Veterano
 
Messaggi: 198
Iscritto il: sab ott 18, 2003 11:46 am
Località: Parma

Messaggioda Whamoo » lun nov 03, 2003 10:55 pm

ahhh ops, non avevo visto che il fede chiedeva il carattere di riempimento, credevo lo avessi aggiunto tu per sfizio :scherza: ...

Basta una piccola modifica:

Codice: Seleziona tutto
#include <iostream>

using namespace std;

int main() {
   int rows, cols;
   char riempimento=' ';
   cout << "Quante colonne vuoi?"<<endl;
   cin >> cols;
   cout << "Quante righe vuoi?"<<endl;
   cin >> rows;
   cout << "Con quale carattere vuoi riempire il rettangolo?"<<endl;
   cin >> riempimento;
   for(int x=0;x<=rows;x++){
     for(int y=0;y<=cols;y++){
       if(x==0 || y==0 || x==rows || y==cols)
    cout <<"#";
       else
    cout <<riempimento;
     }
     cout << endl;
   }
   return 0;
}


Scusate la mia sbadataggine :annu:
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Messaggioda Blackfede » lun nov 03, 2003 11:10 pm

Ma questo
Codice: Seleziona tutto
using namespace std;

a cosa serve? :mah:
E poi a che ti serve inizializzare la variabile riempimento? Tanto poi appena inserisco il carattere di riempimento viene riassegnata....
E poi il tuo codice non corretto per ogni valore di row e col, se metto che volgio un rettangolo 1x1 lu me ne fa uno di 2x2.....
Ultima modifica di Blackfede il lun nov 03, 2003 11:23 pm, modificato 1 volta in totale.
I troll sono solo dei dementi che finisco in /dev/null
-------------------------------------------
I video giochi non influenzano i bambini. Voglio dire, se Pac-man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva...e dopo qualche anno ci furono i rave party!
Avatar utente
Blackfede

Eroe
 
Messaggi: 1227
Iscritto il: gio gen 16, 2003 10:18 am
Località: Parma

Messaggioda electric_g » lun nov 03, 2003 11:19 pm

vergognati... farti fare i compiti... :no: :no:
Faso uebsait in piacap? su server apasi, asp su server uindou, cieseese, acatiemeelle, giavascrip, compatibii co tuti i brauser, Ecsplorer, Mozila, Fairfocs, Netscheip, Opera, uso databeis aces e maiesecuele. So drio imparare a usare linucs co Debian.
E so drio studire l'inglese...

Tradotto in veneto da bak

Immagine
Avatar utente
electric_g

Veterano
 
Messaggi: 198
Iscritto il: sab ott 18, 2003 11:46 am
Località: Parma

Messaggioda Blackfede » lun nov 03, 2003 11:24 pm

Scusa se non sono un mostro como te in logica... :ahah:
I troll sono solo dei dementi che finisco in /dev/null
-------------------------------------------
I video giochi non influenzano i bambini. Voglio dire, se Pac-man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva...e dopo qualche anno ci furono i rave party!
Avatar utente
Blackfede

Eroe
 
Messaggi: 1227
Iscritto il: gio gen 16, 2003 10:18 am
Località: Parma

Messaggioda Whamoo » lun nov 03, 2003 11:43 pm

va bhe, non rompere le scatole :ahah:
Se non ti piace non inizializzare la variabile rimepimento e per il quadrato 1*1 mettici un if del cavolo :ahah:

E impara a programmare :ride:
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Messaggioda electric_g » lun nov 03, 2003 11:43 pm

Blackfede ha scritto:Scusa se non sono un mostro como te in logica... :ahah:


ti sembro una logica io???? che passo la sera in chat??? :no:
Faso uebsait in piacap? su server apasi, asp su server uindou, cieseese, acatiemeelle, giavascrip, compatibii co tuti i brauser, Ecsplorer, Mozila, Fairfocs, Netscheip, Opera, uso databeis aces e maiesecuele. So drio imparare a usare linucs co Debian.
E so drio studire l'inglese...

Tradotto in veneto da bak

Immagine
Avatar utente
electric_g

Veterano
 
Messaggi: 198
Iscritto il: sab ott 18, 2003 11:46 am
Località: Parma

Messaggioda Whamoo » lun nov 03, 2003 11:45 pm

a dimenticavo

Il namespace std serve a far girare tutto :ride:

Se programmi sotto windows, non lo usare, sotto linux se non lo metti non compila, poi rossi ti spieghera' meglio :annu:
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Messaggioda electric_g » lun nov 03, 2003 11:45 pm

Whamoo ha scritto:va bhe, non rompere le scatole :ahah:
Se non ti piace non inizializzare la variabile rimepimento e per il quadrato 1*1 mettici un if del cavolo :ahah:

E impara a programmare :ride:


:ahah: :ahah:

a me il tuo codice piace...
Faso uebsait in piacap? su server apasi, asp su server uindou, cieseese, acatiemeelle, giavascrip, compatibii co tuti i brauser, Ecsplorer, Mozila, Fairfocs, Netscheip, Opera, uso databeis aces e maiesecuele. So drio imparare a usare linucs co Debian.
E so drio studire l'inglese...

Tradotto in veneto da bak

Immagine
Avatar utente
electric_g

Veterano
 
Messaggi: 198
Iscritto il: sab ott 18, 2003 11:46 am
Località: Parma

Messaggioda Blackfede » lun nov 03, 2003 11:47 pm

No, hai ragione...sei solo scema!!! :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah: :ahah:
I troll sono solo dei dementi che finisco in /dev/null
-------------------------------------------
I video giochi non influenzano i bambini. Voglio dire, se Pac-man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva...e dopo qualche anno ci furono i rave party!
Avatar utente
Blackfede

Eroe
 
Messaggi: 1227
Iscritto il: gio gen 16, 2003 10:18 am
Località: Parma

Messaggioda Whamoo » lun nov 03, 2003 11:49 pm

electric_g ha scritto:
:ahah: :ahah:

a me il tuo codice piace...


Meno male che a qualcuno piace e non si lamenta :scherza:
Bhe grazie del complimento :eheh: :eheh:
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Prossimo

Torna a Tecnologia, internet, coding

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti