Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
The Tattooist of Auschwitz (2024)

Se poate recupera numar de telefo...

Upgrade de la MacBook Pro M1 cu 8...

Ce tip de monitor am nevoie pt of...
 Resoftare camera supraveghere

Cu ce va aparati de cainii agresi...

Nu imi platiti coletul cu cardul ...

Exista vreun plan de terorizare p...
 Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 

Afisarea elementelor identice dintr-un vector

- - - - -
  • Please log in to reply
5 replies to this topic

#1
sherdin

sherdin

    New Member

  • Grup: Members
  • Posts: 9
  • Înscris: 02.11.2013
Salut!Vreau sa afisez elementele identice dintr-un vector.Am incercat sa fac ceva pana acum :
#include <stdio.h>
int main()
{
	int b[20],v[20],n,i,j,k=0,l,ok;
	printf("da n");
	scanf("%d",&n);
	for (i=0;i<n;i++)
		scanf("%d",&v[i]);
	for (i=0;i<n;i++)
	{ok=0;
	for (j=0;j<n;j++)
		if (i!=j)
		if (v[i]==v[j])
		ok=1;
	if (ok==1)
	{
		b[k]=v[i];
		k++;
	}}
	for (i=0;i<k;i++)
		printf("%d",b[i]);
}

Problema este ca mi se repeta elementele identice.
ex pt 1, 2 , 3 ,2 , 5  afiseaza 2 , 2

#2
stefanutz13

stefanutz13

    Member

  • Grup: Members
  • Posts: 742
  • Înscris: 04.12.2011
for(int i=0; i<n; i++)
	 {
		  if(v[i] == v[i+1]){
			   contor++;} // declari si tu int contor=0;
			   cout<<i; // afiseaza pozitia pe care se afla elementele identice , nu te mai complica cu n for-uri :)
			   cout<<endl; poti pune si '\n' pt un timp mai scurt la compilare;
			   cout<<contor; //afiseaza de cate ori se repete elementele tale in acel vector;
	 }


Bafta , pune mana si invata! :)

#3
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,441
  • Înscris: 10.08.2005
if(v[i] == v[i+1])
si daca am un element la array[0] si unul la array[7]
cum teremini daca sunt identice?

Edited by MarianG, 25 January 2015 - 23:11.


#4
jobist

jobist

    Senior Member

  • Grup: Senior Members
  • Posts: 2,746
  • Înscris: 23.04.2010

 sherdin, on 25 ianuarie 2015 - 22:07, said:

Vreau sa afisez elementele identice dintr-un vector.
......................
Problema este ca mi se repeta elementele identice.
ex pt 1, 2 , 3 ,2 , 5  afiseaza 2 , 2
De fapt este chiar ceea ce vrei.

Edited by jobist, 26 January 2015 - 13:33.


#5
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,032
  • Înscris: 24.02.2006
ai mai multe variante:
-cand gasesti un element care se repeta, il elimini din sir
-inainte sa adaugi un element nou in b, verifici daca el nu exista deja acolo

#6
Shaddox

Shaddox

    New Member

  • Grup: Members
  • Posts: 10
  • Înscris: 03.09.2007
Cel mai simplu e sa faci cu doua foruri. Cu unul traversezi array-ul, cu celalalt verifci array-ul de duplicate.
Tot simplu e sa intai sortezi array-ul initial, apoi faci ce ai facut si stefanutz.

Daca ai numerele in ordine si e un singur duplicat, atunci poti sa faci suma tuturor elementelor pana la N, apoi scazi suma elementelor tale din suma asta.
Sunt si alternative mai complicate, cu xor-uri pe biti, sau de ce nu, poti sa folosesti index-ul array-ului ca o valoare, o faci negativa, si atunci cand o reintalnesti stii ca e duplicat. Depinde de tine.
Daca esti incepator, mai bine te tii de prima.

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate