Newsgroup: it.comp.lang.c
Titolo: Programmino stupido ma...

Per questo programma:
#include <stdio.h>
int main (void)
{
 int var1, var1b, var2, var2b;
 for (var1=0; var1<20; var1++)
  printf("*", var1);
 for (var1b=0; var1b<20; var1b++)
  printf("$", var1b);
 for (var2=0; var2<20; var2++)
  printf("*", var2);
 for (var2b=0; var2b<20; var2b++)
  printf("$", var2b);
 return (0);
}
che dà come risultato:
********************$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$********************
come posso farlo diventare così?:
********************$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$********************
cioè andare a capo e poi ripetere queste 2 righe per far uscire una
cosa simile?:
********************$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$********************
********************$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$********************
********************$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$********************
********************$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$********************
********************$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$********************
grazie!
P.S. Magari un'alternativa al mio programma! non credo dover usare
tanti FOR!

   printf("*", var1);
                      ^-- perchè metti questo var1?
io avrei scritto
#include <stdio.h>
#define N 20
void main () {
int k,i;
for(k=0;k<N;k++)
{
    for(i=0;i<N;i++) printf("*")
    for(i=0;i<N;i++) printf("$")
    printf("\n")
    for(i=0;i<N;i++) printf("$")
    for(i=0;i<N;i++) printf("*")
    printf("\n")
}
}
Non lo ho compilato, ma dovrebbe essere giusto

 }
Si, ok, oppure cosi':
<CODE>
#include <stdio.h>
#define N 20
int main()
{
    int m,n;
    char c='*';
    for(m=0;m<N;++m){
        for(n=0;n<N;++n) putchar(c);
        (c=='*')?(c='$'):(c='*');
        for(n=0;n<N;++n) putchar(c);
        putchar('\n');
    }
    return 0;
}
<CODE>
Per evitare SUBITO polemiche che partono spesso da questo NG, non dico
assolutamente che questa versione sia piu' efficiente e neppure migliore
della tua. E' solo una valida alternativa che ho voluto postare a "Bottle
Man".
Lo dico in quanto in passato c'e' stata una polemica con if(s[0]!='\0') e
if(*s), e anche li non avevo mai detto che la seconda fosse migliore, avevo
solo postato una alternativa.
Tommy

 wrote
[cut]
ti ho risposto sotto a "Cendo".
Se invece non ti serve scrivere un carattere alla volta:
<CODE>
#include <stdio.h>
#define N 10
int main()
{
 int m;
    for(m=0;m<N;++m){
puts("********************$$$$$$$$$$$$$$$$$$$$\n$$$$$$$$$$$$$$$$$$$$********
************");
    }
    return 0;
}
</CODE>
N.B. se il puts("....."); viene spezzato dal NGS, beh, deve stare su di una
riga sola.
Tommy

Scherzetto :P

 Scherzetto :P
???????????????????


wrote:

Forse tommy poteva credere in una risposta a lui non consona :)

$$$$$$$$$$$$$$$$$$$$********************
Non l'ho compilato ma dovrebbe andar bene:
#include <stdio.h>
#define N 5
int main()
{
    int i,j;
    for (j = 0; j < N; i++)
    {
        for (i = 0; i < 80; i++)
        {
            if (i == 40) printf("\n");
            if (i < 20) printf("*");
            else
            if (i < 60) printf("$");
            else
            if (i < 80) printf("*");
        }
        printf("\n");
    }
}
-- 
Andrea Laforgia
"Meglio cieco che negro" (Stevie Wonder).

void main () {
int main()


        (c=='*')?(c='$'):(c='*');
Di grazia, che cos'e` ??


     }
Se volevi fare un loop infinito (un forever) potevi anche evitare di
inizializzare j a 0 e controllare che fosse minore di N ;-)
Se questa non era la tua intenzione (come penso) allora hai sbagliato il
nome della variabile da incrementare.
Tommy

 Di grazia, che cos'e` ??
Scusa ?!?
se uno di quelli a cui piace di piu':
c=(c=='*')?('$'):('*');
oppure hai voglia di criticare e basta?!?
Tommy

nome della variabile da incrementare.
Ma va ? ;) il codice non era compilato, ovviamente la variabile da
incrementare nel primo ciclo e` j, non i.


c=(c=='*')?('$'):('*');
Questo non e` cioe` che hai scritto in precedenza, rileggi.


Per tua informazione, io ritengo che l'operatore ?: vada evitato.
Non ti ho mai chiesto questa informazione...
Tommy

 incrementare nel primo ciclo e` j, non i.
Avevo capito, e probabilmente aveva capito anche BottleMan, ma meglio aver
tirato fuori l'errore di typing per evitare problemi, non trovi?
Tommy

 "Meglio cieco che negro" (Stevie Wonder).
Al di la di qualunque sia il significato di questa frase (ed il contesto),
l'impatto che da a leggerla non e' dei piu' piacevoli....
Non mi sembra sia stata una gran buona scelta....
Tommy

Non ti ho mai chiesto questa informazione...
Infatti non mi sto rivolgendo a te, ma a chi legge il tuo codice e
pensa che sia saggio usare un costrutto del genere.  


Non mi sembra sia stata una gran buona scelta....
Nessun problema, continuero` a tenerla.  Esiste una cosa chiamata
"senso dell'umorismo" che pero` e` contemplabile solo in chi abbia un
sufficiente grado di intelligenza ;-)
-- 
Andrea Laforgia


Avevo capito, e probabilmente aveva capito anche BottleMan
Avevamo capito tutti quindi.



io da qui proseguirei con un bel [OT]

 "Meglio cieco che negro" (Stevie Wonder).
Prima di tutto mi domando come mai questo mio post sia sparito dal
server.... mah....
Poi, non offendere. Fai sempre cosi' presto ad arrivare a chiamare le
persone stupide, ignoranti, poco intelligenti, ed a volte usi pure parole
ancora piu' offensive. Non e' offendendo gli altri che sfoggi la tua
intelligenza.... (e nemmeno avendo il tuo "senso dell'umorismo).
Tommy

intelligenza.... (e nemmeno avendo il tuo "senso dell'umorismo).
ROTFL ;-) veramente io non offendo nessuno.  Se non arrivi a capire
l'umorismo che c'e` dietro una frase, ti stai offendendo da solo.
Comunque, sai che faccio, generalmente, con quelli come te ? un bel
*plonk* nel kill-file.
Allaccia le cinture, 1, 2, eeeee 3...
*plonk*
-- 
Andrea Laforgia


io da qui proseguirei con un bel [OT]
Non preoccuparti, gente del genere va killata.
Gia` fatto, torniamo a parlare *seriamente* di C ;-)


 *plonk*
Sei tu che continui a rispondere....
Chissa' perche' tutti arrivano a fare FLAMES enormi con te?!?
Perche' sei maleducato, provochi, sei testardo e ti credi imbattibile.
Ad ogni modo di essere o meno nel tuo kill file.... (a patto che esista!)
non mi interessa.
Anzi, forse almeno mi lascierai in pace da ora in poi...
[STOP]
Tommy

 incrementare nel primo ciclo e` j, non i.
Avevo capito, e probabilmente aveva capito anche BottleMan, ma meglio aver
tirato fuori l'errore di typing per evitare problemi, non trovi?
Tommy
</QUOTE>