ここではまだ C# の一部を学習していますが、for ループを使用してアスタリスクからピラミッドを作成しました。
using System;
namespace Nimi{
class Ohjelma{
static void Main(){
for(;;){
Console.Write("Anna korkeus: ");
string eka = Console.ReadLine();
int luku = int.Parse(eka);
//First, I made that if the number is 0 or lower, it will ask the number again.
//Hence the endless loop at start.
if(luku <= 0){
continue;
} else {
for (int i = 0; i < luku; i++ )
{
for (int k=i+1; k < luku; k++)
{
Console.Write(" ");
}
for (int j = 2*i+1; j > 0; j--)
{
Console.Write("*");
}
Console.WriteLine("");
}
break;
}
}
}
}
}
まだ作成できていないwhileループでこれがどのように機能するかを知りたいという好奇心からです。私が考えた方法は次のとおりです。
using System;
namespace Nimi{
class Ohjelma{
static void Main(){
while(true){
// The While-loop version of endless loop. Not sure how different it is.
Console.Write("Anna korkeus: ");
string eka = Console.ReadLine();
int luku = int.Parse(eka);
if(luku <= 0){
continue;
} else {
int i = 0;
int j = i * 2 + 1;
int k = i+1;
while(i < luku)
{
while (j > 0){
while (k < luku){
Console.Write(" ");
k++;
}
Console.Write("*");
j--;
}
Console.WriteLine();
i++;
}
break;
}
}
}
}
}
本当にうまくいかないでください。次のようなもののみを投稿します (値が 4 の場合:
*
アスタリスク付きのピラミッドを作成するために for ループから while ループに転送する正しい方法は何ですか?