C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で配列のヒストグラムを作成するプログラム


このチュートリアルでは、配列内に与えられたデータによってヒストグラムを作成するプログラムについて説明します。

このために、配列内に整数値が提供されます。私たちのタスクは、座標xとyの両方の値が配列で提供された値と等しくなるようにヒストグラムをプロットすることです。

#include <bits/stdc++.h>
using namespace std;
void make_histogram(int arr[], int n){
   int maxEle = *max_element(arr, arr + n);
   for (int i = maxEle; i >= 0; i--) {
      cout.width(2);
      cout << right << i << " | ";
      for (int j = 0; j < n; j++) {
         if (arr[j] >= i)
            cout << " x ";
         else
            cout << " ";
      }
      cout << "\n";
   }
   for (int i = 0; i < n + 3; i++)
   cout << "---";
   cout << "\n";
   cout << " ";
   for (int i = 0; i < n; i++) {
      cout.width(2);
      cout << right << arr[i] << " ";
   }
}
int main() {
   int arr[10] = { 10, 9, 12, 4, 5, 2,
   8, 5, 3, 1 };
   int n = sizeof(arr) / sizeof(arr[0]);
   make_histogram(arr, n);
   return 0;
}

出力

12 | x
11 | x
10 | x x
9 | x x x
8 | x x x x
7 | x x x x
6 | x x x x
5 | x x x x x x
4 | x x x x x x x
3 | x x x x x x x x
2 | x x x x x x x x x
1 | x x x x x x x x x x
0 | x x x x x x x x x x
---------------------------------------
10 9 12 4 5 2 8 5 3 1

  1. C++プログラムの配列の最大積サブセット

    この問題では、n個の整数値の配列arr[]が与えられます。私たちのタスクは、配列の最大積サブセットを見つけるプログラムを作成することです。 問題の説明 −ここでは、配列の要素のサブセットの可能な最大積を計算する必要があります。 サブセット − sub[]のすべての要素がarr[]に存在する場合、配列sub[]は配列arr[]のサブセットです。 問題を理解するために例を見てみましょう 入力 arr[] = {4, 5, 2, −1, 3} 出力 40 説明 Subset sub[] = {4, 5, 2} Prod = 4*5*2 = 40 ソリューションアプローチ 問題を

  2. C++で配列のビットノイズをチェックするプログラム

    N個の整数の配列arr[N]が与えられた場合、タスクは、与えられた配列がバイトニックであるかどうかをチェックすることです。指定されたアレイがバイトニックである場合は、「はい、バイトニックアレイです」と出力します。そうでない場合は、「いいえ、バイトニックアレイではありません」と出力します。 Bitonicアレイとは、アレイが最初に厳密に昇順で、次に厳密に降順である場合です。 この配列のように、arr [] ={1、2、3、4、2、-1、-5}はバイトニック配列です。これは、4までは厳密に昇順であり、4以降は厳密に降順であるためです。 入力 arr[] = {1, 3, 5, 4,