C++ 在二维字符数组中绘制三角形
我试图使用2d字符数组作为形状的表格,但在绘制三角形时遇到了困难。给定三角形顶部的位置及其高度,我的函数应该通过更改我最初分配给“”的元素,在25行80列的字符数组中绘制一个三角形。到目前为止,我已经做到了:C++ 在二维字符数组中绘制三角形,c++,for-loop,multidimensional-array,char,geometry,C++,For Loop,Multidimensional Array,Char,Geometry,我试图使用2d字符数组作为形状的表格,但在绘制三角形时遇到了困难。给定三角形顶部的位置及其高度,我的函数应该通过更改我最初分配给“”的元素,在25行80列的字符数组中绘制一个三角形。到目前为止,我已经做到了: int i, j; for(i=0; i<height; i++){ for(j=-i; j<=i; j++){ screen[x+i][y+j]=ch; } } 但不知什么原因,它似乎不起作用,我也不明白为什么 很抱歉,我没有澄清我的
int i, j;
for(i=0; i<height; i++){
for(j=-i; j<=i; j++){
screen[x+i][y+j]=ch;
}
}
但不知什么原因,它似乎不起作用,我也不明白为什么
很抱歉,我没有澄清我的代码的功能。
我有以下功能来打印我的2d阵列:
void PrintScreen(){
int i, j;
for(i=0; i<SCREEN_HEIGHT; i++)
{
for(j=0; j<SCREEN_WIDTH; j++)
{
printf("%c", screen[i][j]);
}
printf("\n");
}
} // end-PrintScreen
void PrintScreen(){
int i,j;
对于(i=0;i这个从您的代码片段中浓缩的极简主义示例对我很有用:
#include <stdio.h>
#define SCREEN_HEIGHT 25
#define SCREEN_WIDTH 80
char screen[SCREEN_HEIGHT][SCREEN_WIDTH];
int main(int argc, char* argv[])
{
int height = 10;
int x = 1, y = 10;
int i, j;
for(i=0; i<height; i++){
for(j=-i; j<=i; j++){
screen[x+i][y+j]='*';
}
}
for(i=0; i<SCREEN_HEIGHT; i++) {
for(j=0; j<SCREEN_WIDTH; j++) {
printf("%c", screen[i][j]==0 ? ' ' : '*');
}
printf("\n");
}
}
#包括
#定义屏幕高度25
#定义屏幕宽度80
字符屏幕[屏幕高度][屏幕宽度];
int main(int argc,char*argv[])
{
整数高度=10;
int x=1,y=10;
int i,j;
对于(i=0;i)您目前的代码图是什么?如何分配和初始化屏幕数组?最好发布完整的示例。“如果其他人需要帮助解决相同的问题,上面的代码应该可以正常工作。”
甚至没有人知道问题出在哪里,上面的代码也不完整。
#include <stdio.h>
#define SCREEN_HEIGHT 25
#define SCREEN_WIDTH 80
char screen[SCREEN_HEIGHT][SCREEN_WIDTH];
int main(int argc, char* argv[])
{
int height = 10;
int x = 1, y = 10;
int i, j;
for(i=0; i<height; i++){
for(j=-i; j<=i; j++){
screen[x+i][y+j]='*';
}
}
for(i=0; i<SCREEN_HEIGHT; i++) {
for(j=0; j<SCREEN_WIDTH; j++) {
printf("%c", screen[i][j]==0 ? ' ' : '*');
}
printf("\n");
}
}