👤

Scrieţi programul C/C++ care citeşte de la tastatură un număr natural n, cu cel mult 8 cifre,
şi afişează pe ecran numărul de cifre distincte ale numărului n.
Exemplu: pentru n=15356 se va afişa valoarea 4 deoarece numărul conţine 4 cifre distincte
şi anume 1, 3, 5 şi 6.


Răspuns :

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
void main()
{
 double n;
 int arr[8] = {0,0,0,0,0,0,0,0};
 int temp;
 bool eDistinct;
 int cifreDistincte = 0;

 do {
  cout << "Introduceti numarul:";
  cin >> n;

  if (n < 0 && n > pow(10, 9)) {
   cout << "Numarul trebuie sa fie in intervalul 1-100000000";
  }

 } while (n < 0 || n > pow(10, 9));
 for (int i = 7; i >= 0; i--) {
  temp = n;
  if (i == 7) {
   arr[i] = n / pow(10, i);
  }
  else {
   for (int c = 7; c > i; c--) {
    temp = temp - arr[c] * pow(10, c);
   }   arr[i] = arr[i] = temp / pow(10, i);
  }
 }

 for (int i = 7; i >= 0; i--) {
  eDistinct = true;  
for (int c = 0; c != i && c <= i; c++) {
   if (arr[i] == arr[c] || arr[i] == 0) {
    eDistinct = false;
   }
  }  if(eDistinct)
   cifreDistincte = cifreDistincte + 1;
 }

 cout << cifreDistincte << " cifre distincte";

 _getch();
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!


Ez Studiers: Alte intrebari