Szukanie duplikatów

Odpowiedz Nowy wątek
2018-07-11 07:57
0

Czy jest możliwość napisania kodu który umożliwi wyszukanie duplikatów w notatniku?
Mam generator liczb losowych który wysyła losowe liczby do notatnika.. szansa jest że cyfry będą takie same. Jest jakiś program bądź kod który to "prześwietli" i sprawdzi czy owych duplikatów nie ma?

Pozostało 580 znaków

2018-07-11 08:14
0

No ale co? Chcesz sprawdzić czy wśród N liczb losowych nie powtarzają się cyfry? Przecież to jest bez sensu albo jest to problem XY.

szansa jest że cyfry będą takie same

Pytanie czy wiesz czym cyfra różni się od liczby, bo jeśli chcesz losować liczby bez powtórzeń to co innego.

edytowany 3x, ostatnio: grzesiek51114, 2018-07-11 08:16

Pozostało 580 znaków

2018-07-11 08:16
0

Instrukcja if zrobi to czego oczekujesz.


Nie pisz na priv. Zadaj dobre pytanie na forum.

Pozostało 580 znaków

2018-07-11 08:19
0
grzesiek51114 napisał(a):

No ale co? Chcesz sprawdzić czy wśród N liczb losowych nie powtarzają się cyfry? Przecież to jest bez sensu albo jest to problem XY.

szansa jest że cyfry będą takie same

Pytanie czy wiesz czym cyfra różni się od liczby, bo jeśli chcesz losować liczby bez powtórzeń to co innego.

Generator robi losowe liczby i szansa jest że będą takie same. Gdy taki generator zrobi 2k takich liczb to jest problem żeby znaleźć duplikat.

Pozostało 580 znaków

2018-07-11 08:20
0

No to losuj bez powtórzeń.

Pozostało 580 znaków

2018-07-11 08:22
0
grzesiek51114 napisał(a):

No to losuj bez powtórzeń.

To mi prześlij taki generator który będzie robić liczby z przedziałem min. i max. oraz nie będzie robić powtórzeń.

Pozostało 580 znaków

2018-07-11 08:25
0

Ogólnie dostałem taki kod ale nie mam pojęcia na jakiej zasadzie on działa.. gdzie dać np. ścieżkę do plik txt czy coś w tym stylu

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <cctype>
 
int main()
{
    // remove duplicate elements (normal use)
    std::vector<int> v{1,2,3,1,2,3,3,4,5,4,5,6,7};
    std::sort(v.begin(), v.end()); // 1 1 2 2 3 3 3 4 4 5 5 6 7
    auto last = std::unique(v.begin(), v.end());
    // v now holds {1 2 3 4 5 6 7 x x x x x x}, where 'x' is indeterminate
    v.erase(last, v.end());
    for (int i : v)
      std::cout << i << " ";
    std::cout << "\n";
 
    // remove consecutive spaces
    std::string s = "wanna go    to      space?";
    auto end = std::unique(s.begin(), s.end(), [](char l, char r){
        return std::isspace(l) && std::isspace(r) && l == r;
    });
    // s now holds "wanna go to space?xxxxxxxx", where 'x' is indeterminate
    std::cout << std::string(s.begin(), end) << '\n';
}
 
edytowany 1x, ostatnio: furious programming, 2018-07-11 15:49

Pozostało 580 znaków

2018-07-11 08:28
2

Zaraz tak się zakręcisz, że zaczniesz zjadać swój ogon. Napisz co dokładnie chcesz osiągnąć. W kilku wątkach poruszasz osobne problemy, których nie potrafisz poskładać do kupy. Może da się to jakoś prosto rozwiązać.


Nie pisz na priv. Zadaj dobre pytanie na forum.

Pozostało 580 znaków

2018-07-11 08:30
3

To mi prześlij taki generator który będzie robić liczby z przedziałem min. i max. oraz nie będzie robić powtórzeń.

Nic tylko daj i daj.... Zawsze taki roszczeniowy jesteś?

 
#include <random>
#include <iostream>
#include <set>
 
int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dist(100000, 99999999);
 
    std::set<int> random_numbers;
 
    size_t how_many = 10;
    while (random_numbers.size() < how_many)
        random_numbers.emplace(dist(gen));
 
    std::set<int>::iterator it;
 
    for (it = random_numbers.begin(); it != random_numbers.end(); ++it)
        std::cout << *it << '\n';
    std::cout << '\n';
}
``
edytowany 1x, ostatnio: grzesiek51114, 2018-07-11 08:32

Pozostało 580 znaków

2018-07-11 08:33
0
YooSy napisał(a):

Zaraz tak się zakręcisz, że zaczniesz zjadać swój ogon. Napisz co dokładnie chcesz osiągnąć. W kilku wątkach poruszasz osobne problemy, których nie potrafisz poskładać do kupy. Może da się to jakoś prosto rozwiązać.

To generuje liczby przy nazwie, możliwe jest że będzie duplikat tego samego(wygeneruje losową, ale taką samą liczbę drugi raz).. żeby uniknąć tego że bot który będzie zakładać konta na interii nie dostał dwa razy tego samego (anti-captcha kosztuje ^^) chcę szukać duplikatów a wtedy wklejać to botowi który będzie tego używać.

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctime>
#include <conio.h>
#include <iomanip>
 
using namespace std;
class losuj{
    public:
    int cyfry;
    losuj(){
        srand(time(NULL));
        for(int i=0;i<20;i++){
            cyfry= rand() %99999999 + 100000;
            cout<<cyfry<<endl;
 
  fstream plik( "plik.txt", ios::app );
    if( plik.good() )
        plik<<cyfry<<endl;
        plik.close();
        }
    }
};
int main()
{
   losuj start;
   getch();
   return 0;
}
 
edytowany 1x, ostatnio: furious programming, 2018-07-11 15:50

Pozostało 580 znaków

2018-07-11 08:37
2

std::map będzie odpowiedzią na zapotrzebowanie, gdzie losowana liczba będzie kluczem (key) w mapie, a imię i nazwisko będzie wartością.


Nie pisz na priv. Zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: YooSy, 2018-07-11 08:38

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0