Buna ziua! In primul rând va salut cu mult respect și va urez un an nou fericit!
De puțin timp am început sa învăț d-ale programării..însă la aceasta problema am o idee conturata,dar nu știu cum sa o pun in practica.
Problema suna in felul următor:
Fie vectorul A(n) cu numere întregi. Sa se transforme vectorul A in multimea B.(elementele unei mulțimi sunt unice)
Sper ca nu am sfidat regulamentul :thinking:
Problema informatica
Moderators: Moderatori ajutatori, Moderatori
-
- Membru, skill 0
- Posts: 2
- Joined: 01 Jan 2017, 13:34
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
- sound
- Membrul anului 2018
- Posts: 5807
- Joined: 23 Jan 2013, 22:52
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Detinator server CS: Nu
- SteamID: sou_nd
- Reputatie: Fost membru Club eXtreamCS (4 luni)
Nume anterioare: s o u n d -, snd
Fost Moderator
Fost Super Moderator
Moderatorul anului 2017
Membrul anului 2018 - Fond eXtream: 0
- Location: Romania
- Has thanked: 91 times
- Been thanked: 80 times
- Contact:
iti recomand siteul brainly.ro
-
- Membru, skill 0
- Posts: 2
- Joined: 01 Jan 2017, 13:34
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Contact:
Am uitat de el,mulțumesc!
- IsTI37
- Fost administrator
- Posts: 10987
- Joined: 10 Apr 2007, 15:02
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost SysAdmin
Fost Fondator GTA5 (CVL) - Location: Cluj-Napoca
- Has thanked: 28 times
- Been thanked: 776 times
Trebuie sa stergi toate numerele din array care se repeta. Sunt mai multe moduri, poti copia in alt vector b doar cele care nu exista deja in vectorul b sau poti pur si simplu sa copiezi din A in B si sa stergi din b numerele cu index-uri care au aceeasi numar si va ramane ce doresti. (vezi algoritmul pentru stergere de la o anumita pozitie)
Cea mai simpla solutie e sa creezi un array mai putin special initializat la 0 pe toate pozitiile care va fi lung de n cifre (n index-uri) si in ele vei stoca de cate ori ai gasit in vectorul A o anumita cifra. Adica nr[1]=1 daca ai gasit o data numarul 1, nr[5] = 3 daca gasesti numarul 5 de 3 ori in vectorul A si daca n-ai gasit niciun 9 atunci vei avea nr[9]=0. Simpla fiindca nu trebuie sa stergi din array in pozitia x sau sa sortezi ci doar sa numeri elementele.
Parcurgi array-ul special de la 0 la n si generezi un array B adaugand cate un numar cu k++; b[k]=i cand nr>=1. In plus va fi si sortat fara sortare.
Cea mai simpla solutie e sa creezi un array mai putin special initializat la 0 pe toate pozitiile care va fi lung de n cifre (n index-uri) si in ele vei stoca de cate ori ai gasit in vectorul A o anumita cifra. Adica nr[1]=1 daca ai gasit o data numarul 1, nr[5] = 3 daca gasesti numarul 5 de 3 ori in vectorul A si daca n-ai gasit niciun 9 atunci vei avea nr[9]=0. Simpla fiindca nu trebuie sa stergi din array in pozitia x sau sa sortezi ci doar sa numeri elementele.
Parcurgi array-ul special de la 0 la n si generezi un array B adaugand cate un numar cu k++; b[k]=i cand nr>=1. In plus va fi si sortat fara sortare.
-
- Fost moderator
- Posts: 3292
- Joined: 16 Aug 2014, 08:53
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- SteamID: hecate_2k
- Reputatie: Fost eXtream Mod
- Fond eXtream: 0
- Location: Medias/Alba Iulia
- Has thanked: 74 times
- Been thanked: 40 times
- Contact:
IsTI37 wrote:Trebuie sa stergi toate numerele din array care se repeta. Sunt mai multe moduri, poti copia in alt vector b doar cele care nu exista deja in vectorul b sau poti pur si simplu sa copiezi din A in B si sa stergi din b numerele cu index-uri care au aceeasi numar si va ramane ce doresti. (vezi algoritmul pentru stergere de la o anumita pozitie)
Cea mai simpla solutie e sa creezi un array mai putin special initializat la 0 pe toate pozitiile care va fi lung de n cifre (n index-uri) si in ele vei stoca de cate ori ai gasit in vectorul A o anumita cifra. Adica nr[1]=1 daca ai gasit o data numarul 1, nr[5] = 3 daca gasesti numarul 5 de 3 ori in vectorul A si daca n-ai gasit niciun 9 atunci vei avea nr[9]=0. Simpla fiindca nu trebuie sa stergi din array in pozitia x sau sa sortezi ci doar sa numeri elementele.
Parcurgi array-ul special de la 0 la n si generezi un array B adaugand cate un numar cu k++; b[k]=i cand nr>=1. In plus va fi si sortat fara sortare.
Mai pe scurt, tu iti faci un vector de pozitie cu n elemente, pe care il initializezi cu 0.
Deci, cand faci citirea la vectorul A element cu element, pui B[A]++;
ex:
while(i<=n)
{
cin>>A[n];
B[A]++;
i++;
}
Mai nou si internet banking are liber de 1 decembrie :kappa: :kappa:
-
- Information
-
Who is online
Users browsing this forum: Bing [Bot], Facebook [Bot], Petal [Bot] and 581 guests