• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program do wypisywania liczb bez powtórzeń w kolejności w jakiej się pojawiły ( musi być z użyciem tablic)

0 głosów
1,178 wizyt
pytanie zadane 2 listopada 2019 w C i C++ przez adeptc Nowicjusz (160 p.)
Witam!

3 tygodnie temu rozpocząłem swoją przygodę z programowaniem i sporo kwestii wciąż nie jest dla mnie jasnych, więc postanowiłem poszukać pomocy tutaj. Mam do napisania prosty program, który wczyta zestaw liczb, po czym wypisze te liczby bez powtórzeń w kolejności pierwszego pojawienia się i nie mam pomysłu na ten program( w tym programie powinny być użyte tablice) . Będę wdzięczny za każdą pomoc!
komentarz 2 listopada 2019 przez DragonCoder Nałogowiec (36,500 p.)
Vectoe, petla, usuwanie elementów z vectoe. Wiecej chyba nie potrzebujesz, chyba ze uzyjesz wyszukiwarki, bo bylo juz takie zadanie i rozwiazania byly napisane zarowno przy użyciu tablic, jak i vector
komentarz 2 listopada 2019 przez tkz Nałogowiec (42,040 p.)
unordered_set będzie wygodniejsze.
komentarz 3 listopada 2019 przez Inn Gaduła (4,300 p.)

@adeptc, Na starcie z programowaniem radziłbym napisać własną funkcję która sprawdzi czy nastąpiło powtórzenie w tablicy i nie zapisze nowej wartości, w razie pytań pisz :)

komentarz 11 listopada 2019 przez adeptc Nowicjusz (160 p.)
Witam, porzuciłem ten program i poleciałem dalej z materiałem, ale teraz postanowiłem do niego wrócić.

oto mój kod na chwilę obecną:

#include <iostream>
using namespace std;
#define SIZE 100
int main() {
    int tab[SIZE] = { 0 }, nowa[SIZE];
    int liczba,x;
    /*podawanie ilosci podawanych wartosci*/
    cout << "podaj liczbe podawanych cyfr: ";
    cin >> liczba;
    /*przypiswanie elementów do tablicy*/
    for (int i = 0; i < liczba; i++) {
        cin >> x;
        tab[i] = x;
    }
    /*wybieranie niepowtarzajacyh sie elementów i dodawanie ich do tablicy*/
    for (int i = 0, j=0; i < liczba; i++) {
        if (tab[0] == tab[i]) {
            nowa[j] = tab[i];
            j++;
        }
    }

    cout << "element nowej tablicy";
    return 0;
}

 

Miałem w planie teraz spróbować wymyślić coś z użyciem pętli, aby na nowo powstałej drugiej tablicy wyeliminowac pozostałe powtórzenia. Trochę nie mam pomysłu jak to teraz, dokończyć. Czy mój tok rozumowania jest w miarę dobry, czy może ten pomysł jest zły ?Jakieś porady ?

1 odpowiedź

0 głosów
odpowiedź 3 listopada 2019 przez j23 Mędrzec (195,220 p.)
  1. czytasz liczbę.
  2. sprawdzasz, czy jest w tablicy.
  3. jeśli nie ma, dodajesz ją do tablicy i wypisujesz, a jeśli jest, nic nie robisz.
  4. wracasz do punktu 1.
komentarz 11 listopada 2019 przez adeptc Nowicjusz (160 p.)
Problem polega na tym, że nie umiem sprawdzić czy jest w tablicy. Za każdym razem mój program źle to robi. Jakieś sugestie czego powinienem tutaj użyć ? Pętle, jakieś konkretne funkcje ?
komentarz 12 listopada 2019 przez j23 Mędrzec (195,220 p.)
Użyj pętli.

Podobne pytania

0 głosów
1 odpowiedź 3,368 wizyt
pytanie zadane 22 listopada 2016 w C i C++ przez Medium0 Nowicjusz (120 p.)
+1 głos
1 odpowiedź 412 wizyt
0 głosów
1 odpowiedź 1,324 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez CichoCiemny Początkujący (480 p.)

93,757 zapytań

142,716 odpowiedzi

323,363 komentarzy

63,353 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...