2010-12-04 9 views
0

シングルループでスパイラルを作成することは可能ですか?以前はスパイラルを作っていましたが、複数のループでしか作れませんでした。出力を表示するコードのボーナス。for/whileまたはwhileループを使用してスパイラルを作成する

#include "conio.h" 
#include "dos.h" 
#include "stdlib.h" 

void main() 
{  
    int p,q,r,s,t; 
clrscr(); 

for(p=8; p<14; p++) 
{ 
    for(q=5 ; q<26; q++) 
    { 
     gotoxy(5,q); 
     printf("Û"); 
    } 
    for(r=5; r<50; r++) 
    { 
     printf("Ü"); 
    } 
    for(s=25; s>4; s--) 
    { 
     gotoxy(50,s); 
     printf("Û"); 
    } 
    for(t=50; t>6; t--) 
    { 
     gotoxy(t,4); 
     printf("Ü"); 
    } 
    for(q=5; q<25; q++) 
    { 
     gotoxy(7,q); 
     printf("Û"); 
      } 
      // etc. . . I didn't write the full code. 
} 
+0

'void main()' - ew ... –

答えて

1

一つの可能​​なアプローチ:

const float centerX = 10, centerY = 10; 
const float speed = 0.1; 
const float max_angle = 10; 
const float angleStep = 0.1; 

for (float angle = 0; angle < max_angle; angle += angleStep) { 
    float radius = angle*speed; 
    float sX = centerX+cos(angle)*radius; 
    float sY = centerY+sin(angle)*radius; 
    createPoint(sX,sY); 
} 

createPointのための任意の描画機能を置き換えやパラメータと遊びます。 createPointため(上記の何に似ている)

一つのアプローチは、次のようになります。

void createPoint(int x, int y) { 
    gotoxy(x,y); 
    putchar('*'); 
} 

後でグラフィックスライブラリを使用したい場合、あなたはこの方法を変更することができます。

+0

どのような種類の描画ができますか?私は代用品として使用する必要があります – user517026

+0

投稿に追加されました。 – Kos

関連する問題