C programozásban hogyan csináljam meg, hogy beírok két számot és ezek alapján csillagokból kirajzoljon egy üreges téglalapot?
A szimpla téglalapig már eljutottam, de a szóközöket nem tudom beilleszteni. Itt a programkód, nem jövök rá hogy mit kell átírnom benne.
for(y = 0; y!=magassag; y++)
{
for(x = 0; x != szelesseg; x++)
{
if(x == 0 )
{
printf("*");
}
else if(x > 1 || x < szelesseg)
{
printf(" ");
}
else if(x == szelesseg){
printf("*");
}
}
printf("\n");
}
#include <stdio.h>
int main(void) {
int s1 = 9, s2 = 5;
int i, j;
for (i = 0; i < s1; ++i)
{
for (j = 0; j < s2; ++j)
{
if (i == 0 || i == (s1 - 1))
{
printf("*");
}
else
{
if (j == 0 || j == (s2 - 1))
{
printf("*");
}
else
{
printf(" ");
}
}
}
printf("\n");
}
return 0;
}
Azt próbáld átgondolni hogy mik azok a feltételek amiknek teljesülniük kell ahhoz, hogy "*"-t kelljen írni. Minden egyéb esetben " " lesz. Ez már annyit sugall, hogy a feltételek ágakban "*", az else ágban " " lesz.
Feltételek ahol "*" fog állni:
- 1. sor (ha 0-tól számozol akkor 0.),
- utolsó sor, vagyis magasság (ha 0-tól számozol magasság-1),
- 1. oszlop (ha 0-tól számozol 0. oszlop),
- utolsó oszlop, avagy szélesség (ha 0-tól számozol szélesség-1).
Ezt kéne leírni "if"-"else if" ágakban, majd az else ágban pedig írsz egy " " karaktert.
A ciklus feltételnél pedig szokj hozzá hogy ne != feltételt adj meg, később sok fejfájástól fog megkímélni az ha < vagy <=-t írsz. Mindig azt add meg hogy meddig fusson és ne a feltételt add meg hogy mikor álljon le.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!