ホームページ > バックエンド開発 > C++ > 0 ~ 99 の範囲で欠落している要素を出力します。

0 ~ 99 の範囲で欠落している要素を出力します。

王林
リリース: 2023-09-06 08:13:19
転載
678 人が閲覧しました

0 ~ 99 の範囲で欠落している要素を出力します。

ユーザーが入力した特定のセット内の欠損値が表示されます

Given : array = {88, 105, 3, 2, 200, 0, 10};
Output : 1 4-9 11-87 89-99
ログイン後にコピー

アルゴリズム

START
STEP 1-> Take an array with elements, bool flag[MAX] to Fale, int i, j, n to size of array
Step 2-> Loop For from I to 0 and i<n and i++
   IF array[i] < 100 && array[i]>=0
      Set flag[array[i]]=true
   End IF
Step 3 -> End For Loop
Step 4 -> Loop For from i to 0 and i<MAX and ++i
   IF flag[i] == false
      Set j=i+1
      Loop While j<MAX && flag[j] == false
         Set j++
      End While
      If j=i+1
         Print i
      End IF
   Else
      Print i and j-1
   End Else
   Set i=j
End IF
Step 5 -> End For Loop
STOP
ログイン後にコピー

Example

#include <stdio.h>
#define MAX 100
int main(int argc, char const *argv[]) {
   int array[] = {88, 105, 3, 2, 200, 0, 10};
   bool flag[MAX] = { false }; //Initializing all the values of flag as false
   int i, j, n;
   n = sizeof(array)/sizeof(array[0]);
   for (i = 0; i < n; i++) {
      if (array[i] < 100 && array[i]>=0) {
         flag[array[i]] = true; //Making the value of the elements present in an array as true, So missing will remain false
      }
   }
   for (i = 0; i < MAX; ++i) {
      if(flag[i] == false) { //Checking for false values
         j = i+1; //Giving the value of the next iteration
         while(j<MAX && flag[j] == false) //Checking the value of flag[j] is false
         j++;
         if (j==i+1) //For printing the missing number
            printf("%d</p><p>", i);
         else //For printing the missing range
            printf("%d-%d</p><p>", i, j-1);
         i = j; //Initializing the range&#39;s last value to start from that number
      }
   }
   return 0;
}
ログイン後にコピー

出力

上記のプログラムを実行すると、次の出力が生成されます

1
4-9
11-87
89-99
ログイン後にコピー

以上が0 ~ 99 の範囲で欠落している要素を出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート