C++ 如何仅使用c+;中的循环打印此代码的垂直直方图+;? //打印形状{*}的水平直方图的程序 #包括 使用名称空间std; int main(){ int a[100],n,i,j; cout

C++ 如何仅使用c+;中的循环打印此代码的垂直直方图+;? //打印形状{*}的水平直方图的程序 #包括 使用名称空间std; int main(){ int a[100],n,i,j; cout,c++,C++,该解决方案取决于色谱柱是指向下还是指向上。除此之外,该解决方案类似于: 外部循环遍历行。内部循环遍历列以及相应的数组元素。如果值小于当前行,则打印一个实心字符,否则打印一个空格 对于必需的行数,必须知道数组中的最大值。对于向上的列,必须在开始之前确定该值,因为它是外部循环中迭代的起始值 我的示例代码: //Program to Print Horizontal Histogram of Shape{*} #include<"iostream"> using namespace

该解决方案取决于色谱柱是指向下还是指向上。除此之外,该解决方案类似于:

外部循环遍历行。内部循环遍历列以及相应的数组元素。如果值小于当前行,则打印一个实心字符,否则打印一个空格

对于必需的行数,必须知道数组中的最大值。对于向上的列,必须在开始之前确定该值,因为它是外部循环中迭代的起始值

我的示例代码:

//Program to Print Horizontal Histogram of Shape{*} 

#include<"iostream">

using namespace std;

int main() {
    int a[100],n,i,j;

    cout<<"Enter Size of Array"<<endl;
    cin>>n;

    cout<<"Enter Array Elemnts"<<endl;

    for(i=0;i<n;i++) {
        cin>>a[i];
    }

    for(i=0;i<n;i++) {
        for(j=0;j<a[i];j++) {
            cout<<"* ";
        }
        cout<<endl;
    }
}

包括 使用名称空间std

int main()

{

inta[100],i,j,n,max,copy;

“是否包含
错误。应该是
;include
添加仅代码将无助。请解释清楚您想做什么?请帮助我整理此代码………解决方案取决于您希望的列指向上还是向下。
#include <iostream>
#include <vector>
#include <cmath>

int main()
{
  int n = 10; // size of array
  std::vector<int> a; // array elements
  int maxA = 15;
  for (int i = 0; i < n; ++i) a.push_back(rand() % maxA);
  // print values
  for (int value : a) std::cout << ' ' << value;
  std::cout << '\n';
  // determine max height of columns
  maxA = 0;
  for (int value : a) if (maxA < value) maxA = value;
  // output maxA lines
  for (; maxA > 0; --maxA) {
    for (int value : a) std::cout << (value >= maxA ? " #" : "  ");
    std::cout << '\n';
  }
  // done
  return 0;
}
int a[100],i,j,n,max,copy;

cout<<"Enter the size of Array:"<<endl;
cin>>n;


for(i=0;i<n;i++)

{

    cout<<"Enter the element:"<<i+1<<endl;
    cin>>a[i];
}

//finding max no.
max=a[0];
for(i=0;i<n;i++)

{
    if(a[i]>max)

        max=a[i];
}
copy=max;

 //logic for vertical histogram

cout<<"**********HISTOGRAM**********"<<endl;

for(i=0;i<copy;i++,max--)

{
    for(j=0;j<n;j++)

    {
        if(a[j]>=max)
            cout<<" * ";
        else
            cout<<"   ";
    }

    cout<<"\n";
}