Mārtiņš miniblogs

  • Mārtiņš
    0

    Programmas uzdevums: Tiek ievadīts naturāls skaitlis, programma atrod vai skaitlī ir cipari, kuri atkārtojas, ja tā ir, tad saskaita tos un izvada.
    Piemērs: 23334155; Izvada - 3 (x3), 5(x2).
    Esmu krietni apjucis kodā, varbūt kāds var pateikt vai esmu uz pareizā ceļa un parādīt pareizo virzienu, jo man vairs galva itin nemaz nestrādā.


    <iostream>

    using namespace std;

    int main()
    {

       int stop;

    do{
       int n;
       int *myArray;
       int count = 1;


       cout << "Input number: " << endl;
       cin >> n;
       double x = n;
       x = x / 10;

       // Finds the amount of digits in number[inputted]
       while(x > 1)
       {
           x = x/10;
           count++;
       }
       myArray = new int [count];

       // Puts every digit into an array
       for (int i = 0; i < count; i++)
       {
           myArray[i] = n%10;
           n = n / 10;
       }



       int countRepDigits = 0;  // Repeated digits*

       // Counts repeated digits ??
       for (int j = 0; j < count; j++)
           for (int h = j + 1; h < count; h++)
           {
               if (myArray[j] == myArray[h])
               {
                    ++countRepDigits;
                    cout << "Digit that repeats is: " << myArray[j] << " and their amount is: " << countRepDigits << endl;
               }


           }

       cout << "To continue this program, press - (1); otherwise - (0)" << endl;
       cin >> stop;

       delete[] myArray;
    }while (stop == 1);

       return 0;
    }

    • Hidden driver
      -1

      Tutoriāls kā to izdarīt ne kā cirvis.
      Number to array ->
      Sort pēc ascii ->
      Count array, if 1!=1 then print count, next number.

      • Viesty
        0

        Vecīt, nejauc galvu ar sortošanu pirmkursniekam, kurš nav ļoti advancēts programmēšanā.

    • Normunds
      +1
      int repeat = 0;
      for(int i = 0; i <= 9; i++) {
          for(int j = 0; j < count; j++) {
              if(myArray[j] == i) {
                  repeat++;
              }
          }
          if(repeat > 1) {
              cout << "Digit that repeats is: " << i << " and their amount is: " << repeat << endl;
          }
          repeat = 0;
      }

       

      Tagad tikai sataisi, lai pareizi saliek skaitļus arrayā.

      • Mārtiņš
        0

        Varēji jau aptuveni parādīt virzienu, nevis visu kodu uzrakstīt, bet paldies liels, ļoti noderēja. smile_mini.gif

Atpakaļ Uz augšu