#8
by グーナー » 1年前
boxさん
ご教示ありがとうございます。
#define YMAX (49)はまだ勉強しておりませんが、
素人の私でもおおむね文法を読み解くことができました。
感謝です。
1点以下質問です。
>int x = sqrt(16 * y) + 1;
なぜ末尾に+ 1しているのでしょうか。
すみませんが教えて下さい。
box さんが書きました: ↑1年前
何か暇だったので遊んでみた。
コード:
#include <stdio.h>
#include <math.h>
#define YMAX (49)
void plot(void)
{
int y, mx, i;
for (y = YMAX; y >= 0; y--) {
int x = sqrt(16 * y) + 1;
if (y == YMAX) mx = x;
for (i = -mx; i <= mx; i++) {
putchar((i == 0) ? '|' : (i == -x || i == x) ? '*' : ' ');
}
putchar('\n');
}
}
int main(void)
{
plot();
return 0;
}
boxさん
ご教示ありがとうございます。
#define YMAX (49)はまだ勉強しておりませんが、
素人の私でもおおむね文法を読み解くことができました。
感謝です。
1点以下質問です。
>int x = sqrt(16 * y) + 1;
なぜ末尾に+ 1しているのでしょうか。
すみませんが教えて下さい。
[quote=box post_id=157237 time=1655547955 user_id=523]
何か暇だったので遊んでみた。
[code]
#include <stdio.h>
#include <math.h>
#define YMAX (49)
void plot(void)
{
int y, mx, i;
for (y = YMAX; y >= 0; y--) {
int x = sqrt(16 * y) + 1;
if (y == YMAX) mx = x;
for (i = -mx; i <= mx; i++) {
putchar((i == 0) ? '|' : (i == -x || i == x) ? '*' : ' ');
}
putchar('\n');
}
}
int main(void)
{
plot();
return 0;
}
[/code]
[/quote]