Paras vastaus
Hei, se on hyvin yksinkertaista … Mutta ennen kuin näytän sinulle koodin ja lähdön, anna minun selittää sinulle, miten tein sen… teitkö sen pakosarjan avulla C: ssä …
Mikä on pakosarja?
Pakosarja on sekvenssi merkkejä, jotka eivät edusta itseään, kun niitä käytetään merkin tai merkkijonoliteraalin sisällä, mutta ne käännetään toiseksi merkiksi tai merkkijonoksi, jota voi olla vaikea tai mahdotonta edustaa suoraan.
Escape-sekvenssit C: ssä:
Seuraavat pakosarjat on määritelty standardissa C. Tämä taulukko näyttää myös arvot, joihin ne yhdistetään ASCII: ssa. Näitä pakosarjoja voidaan kuitenkin käyttää missä tahansa järjestelmässä, jossa on C-kääntäjä, ja ne voivat kartoittaa eri arvot, jos järjestelmä ei käytä ASCII: een perustuvaa merkkikoodausta.
Aikaa koodata nyt tulostaaksesi \\ n lähtönäytössä …
Tulos:
Toivottavasti olet nyt selvillä pakosarjoilla …
Hyvää koodausta !!!
Vastaus
Kaikki konsoliin tulostetut asiat alkavat ylhäältä vasemmalta ja virtaavat oikeaan alakulmaan. Se täyttää ylimmän rivin ensin, kunnes uusi rivi tulee tai rivi on kokonaan täytetty, ja se jatkuu sitten seuraava rivi ja jatka samalla tavalla.
Nyt kun haluat piirtää jonkin kuvion, se on jonkinlainen muotoilu, kuten kolmio, pyramidi tai mikä tahansa merkki tai numero.
Mikä tahansa asia Tulostettava on tulostettava yhdistämällä nimetty merkki (esim ’*’), Avaruus ja uusi viiva. Silloin on oltava vähintään kaksi silmukkaa (sanotaanpa silmukoille).
On oltava yksi ulompi silmukka, joka ulottuu kokonaan yhden ruudun läpi, ja ainakin yhden on oltava yksi tai useita sisäisiä silmukoita, jotka tulostavat merkin tai välilyönnin vaatimuksemme mukaan kasvattaessa tai vähentämällä etenemistä tai vakiona joskus.
Mitä ikinä meidän on tulostettava, aloittelijalle on parempi piirtää se paperille ensin ja jaa se riveihin ja sarakkeisiin, sitten analysoi se rivi kerrallaan ja katso, kuinka jokaisella rivillä välilyöntien / merkkien määrä kasvaa / vähenee, ja lisää vastaavasti sisemmät silmukat. (Pakollinen on yksi ulompi silmukka, joka juoksee numerolle, joka on yhtä suuri kuin kaavion rivien lukumäärä.)
Otan yksinkertaisen esimerkin, oletetaan, että minun on piirrettävä yksinkertainen täytetty kolmio näin:
http://1.bp.blogspot.com/–Si3QpY5HE0/WLxS9GYrolI/AAAAAAAAAYs/B4tkjiJg9l0oGLiLXAFgj33nEnVBOLprQCLcB/s1600/Mirror\_Right\_Triangle\_Pattern.JPG
Näemme, että jokainen rivi sisältää:
- Välilyönnit vähenevässä etenemisessä
- * kasvavassa etenemisessä
- Jokaisella rivillä on yhteensä 7 merkkiä
- Yhteensä riviä on 7
Joten ulommalla silmukalla on 7 iterointia (seitsemälle riville), ja kaikki sisäiset silmukat tulostavat yhteensä 7 merkkiä kussakin iteroinnissa ulommalle silmukalle ja sen jälkeen uuden rivimerkin.
Lisätään kaksi sisäistä silmukkaa, ensin tulostetaan välilyönnit vähenevässä etenemisessä ja toinen tulostetaan * kasvavassa etenemisessä:
void PrintTriangle()
{
int i,j,k;
for(i=0;i<7;i++)/*Will run 7 times*/
{
{
printf(" ");
}
for(k=0;k<=i;k++)/*Will grow from 1 iteration to 7*/
{
printf("*");
}
printf("\n");/*Will print new line in end of each iteration of i*/
}
}
Kiitos