jeudi 9 avril 2020

Count Number of Digits in an array (c++)

let's say I have an array arr[5]={5,2,3,2,5} and i wrote following program for it

#include <iostream>
using namespace std;
int main()
{
  int n;
  cout<<"Enter Length of Elements= ";
  cin>>n;
  int arr[50];
  for(int i=0;i<n;i++)
  {
      cout<<"Enter Number=";
      cin>>arr[i];
  }
  for(int i=0;i<n;i++)
  {
      int countNum=1;


      for(int j=i+1;j<n;j++)
      {
          if(arr[i]==arr[j])
          {
              if(i>0)
              {
                  int countNum2=0;


                  for(int k=0;k>i;k++)
                  {
                      //bool repeat=false;

                      if(arr[i]==arr[k])
                      {
                        //repeat=false;
                      }
                      else
                      {
                          countNum2++;
                      }
                  }
                  if(countNum2==i)
                  {
                     countNum++;
                  }
              }
              else
              {
                countNum++;
              }
          }
          else
          {
              for(int k=0;k<i;k++)
              {
                  if(arr[k]==arr[i])
                  {

                  }
                  else
                  {
                      countNum=1;
                  }

              }
          }

      }
      cout<<arr[i]<<" has appeared "<<countNum<< "Times"<<endl;

  }

    return 0;
}

but why I am getting 5 has appeared 2 Times

2 has appeared 1 Time

3 has appeared 1 Time

2 has appeared 1 Time

5 has appeared 1 Time

instead of

5 has appeared 2 Times

2 has appeared 2 Times

3 has appeared 1 Times

so how to fix my program help!

Aucun commentaire:

Enregistrer un commentaire