Informatică, întrebare adresată de iordachegabrie, 9 ani în urmă

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ăspunsuri la întrebare

Răspuns de MrXDead
0
#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();
}

MrXDead: Daca nu intelegi codul, te rog, intreaba-ma!:)
dragalinaleo: ce inseamna asta?
Alte întrebări interesante