在加工过程中打印钻石形状

问题描述 投票:0回答:1

下午好,

在这里,我尝试使用一个函数来打印菱形形状,该函数可以为我们决定使用的每个新整数更改菱形的大小,首先“i”,打印上半部分,然后打印下半部分,但这样做会给我带来问题。我在这里给你留下代码:

 int ancho;

 void dibujaPiramide(int ancho){

 for(int i = 1; i <= ancho; i++){
   for(int j = 1; j<= ancho-i; j++){
   print(" ");

   }
   for(int k = 0; k<2*i-1; k++){
    print("*");
   }
   println();
 }
 for(int i = ancho; i >= 1; i--){
   for(int j = i; j >= 1-i; j--){
   print(" ");
   }
   for(int k = 0;k < 2*i-1;k++){
     print("*");
   }
   println();
 }

 }

 void setup(){
 dibujaPiramide(6);

 }

我想打印一个完整的菱形,它的大小根据函数的输入变量而变化

processing
1个回答
0
投票

一种技术是添加一个计数器并为金字塔底部的每一行递增它。根据行号打印相应数量的空格。该演示应该是可扩展的。

int ancho;
int counter = 0;

void dibujaPiramide(int ancho) {
  for (int i = 1; i <= ancho; i++) {
    for (int j = 1; j<= ancho-i; j++) {
      print(" ");
    }
    for (int k = 0; k<2*i-1; k++) {
      print("*");
    }
    println();
  }

  for (int i = ancho; i >= 1; i--) {
    counter++;
    for(int x = 1; x < counter; x++ ){
      print(" ");
    }
    for (int k = 0; k < 2*i-1; k++) {
      print("*");
    }
    println();
  }
}

void setup() {
  surface.setVisible(false);
  dibujaPiramide(10);
}

© www.soinside.com 2019 - 2024. All rights reserved.