Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Anagramarea cifrelor minimului

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

#1
AdrianUrsaciuc

AdrianUrsaciuc

    Junior Member

  • Grup: Members
  • Posts: 161
  • Înscris: 02.04.2014
Se citesc n numere.Sa se verifice daca prin anagramarea cifrelor minimului acelor nr. se poate obtin un numar mai mare decat maximul acelor numere.

#include <iostream>
using namespace std;
int main()
{
int min,max,nr,n,aux=0,ogl=0,c;
cout<<"n=";
cin>>n;
for(int i=0;i<n;i++)
{
	cout<<"nr=";
	cin>>nr;
}
min=nr;
max=nr;
while(nr!=0)
{
if(nr>max)
max=nr;
if(nr<min)
min=nr;
cout<<"nr=";
cin>>nr;
}
min=aux;
while(aux!=0)
{
	c=aux%10;
	aux=aux/10;
	ogl=ogl*10+c;
}
if (ogl>max)
{
	cout<<"Anagramarea este mai mare decat aux"<<endl;
	cout<<ogl<<">"<<aux<<endl;
}
if (ogl<max)
{
	cout<<"Anagramarea este mai mica decat aux"<<endl;
	cout<<ogl<<"<"<<aux<<endl;
}

return 0;
}


Ce am gresit?Nu se opreste din citit nr.

#2
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
la prima vedere, ai doua locuri in care incerci sa citesti cele N numere

#3
AdrianUrsaciuc

AdrianUrsaciuc

    Junior Member

  • Grup: Members
  • Posts: 161
  • Înscris: 02.04.2014
am schimbat algoritmul de citire a numerelor da tot nu imi da rezultatul corect.
#include <iostream>
using namespace std;
int main()
{
float nr,min,max;
int n,aux=0,ogl=0,i,c;
cout<<"n=";
cin>>n;
for(int i=1;i<=n;i++)
{
	cout<<"nr=";
	cin>>nr;
}
if(i==1)
{
	min=nr;
	max=nr;
}
else
{
	if(min>nr)
		min=nr;
	if(max<nr)
		max=nr;
}
aux=min;
while(aux!=0)
{
	c=aux%10;
	aux=aux/10;
	ogl=ogl*10+c;
}
if (ogl>max)
{
	cout<<"Anagramarea este mai mare decat aux"<<endl;
	cout<<ogl<<">"<<aux<<endl;
}
if (ogl<max)
{
	cout<<"Anagramarea este mai mica decat aux"<<endl;
	cout<<ogl<<"<"<<aux<<endl;
}

return 0;
}



#4
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
nu cred ca l-a schimbat bine. din ce vad acolo, citesti toate valorile intr-o singura variabila (asta insemnand ca a doua valoare o suprascrie pe prima, a treia pe a doua, a patra pe a treia etc.)

#5
AdrianUrsaciuc

AdrianUrsaciuc

    Junior Member

  • Grup: Members
  • Posts: 161
  • Înscris: 02.04.2014

View Post_Smiley_, on 16 septembrie 2014 - 15:54, said:

nu cred ca l-a schimbat bine. din ce vad acolo, citesti toate valorile intr-o singura variabila (asta insemnand ca a doua valoare o suprascrie pe prima, a treia pe a doua, a patra pe a treia etc.)
si cum fac sa citeasca cum trebuie?

#6
EnachescuAlin

EnachescuAlin

    Active Member

  • Grup: Members
  • Posts: 1,008
  • Înscris: 08.07.2013
float min, max;
int n, aux = 0, ogl = 0, i, c;
cout << "n = ";
cin >> n;
float nr[n];
for (int i = 0; i < n; i++)
{
	 cout << "nr = ";
	 cin >> nr[i];
}


Edited by EnachescuAlin, 16 September 2014 - 16:55.


#7
Cy_Cristian

Cy_Cristian

    Active Member

  • Grup: Members
  • Posts: 1,845
  • Înscris: 22.02.2009
1. Nu are nevoie sa persiste datele. Poate afla minimul si maximul direct din citire.
2. Anagramarea aia e facuta gresit, De fapt se face "inversul" numarului.

Edited by Cy_Cristian, 16 September 2014 - 17:09.


#8
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005
Anagrama aia trebuie sa fie o sortare a numarului primit ca parametru.
Restul este o comparatie banala.

#9
tatarduka

tatarduka

    Senior Member

  • Grup: Senior Members
  • Posts: 3,042
  • Înscris: 30.10.2006
Eu zic ca sortarea e prea ineficienta pentru problema asta. Se poate face mult mai eficient.

Edited by tatarduka, 16 September 2014 - 17:39.


#10
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Se poate, dar nu merita cat timp o apelezi o singura data.

#11
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005

View Posttatarduka, on 16 septembrie 2014 - 17:39, said:

Eu zic ca sortarea e prea ineficienta pentru problema asta. Se poate face mult mai eficient.
pentru 10 sau 20 de cifre, chiar nu merita bataia de cap

#12
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
nu e nevoie de sortare, determinarea minimului si maximului se poate face fara sa se pastreze toate numerele (prima varianta de cod postata aici continea cateva instructiuni care faceau fix asta)
restul cerintei se rezolva relativ simplu:
-prima data se compara numarul de cifre; daca MIN are mai putine cifre decat MAX, atunci nu poti obtine un numar mai mare ca MAX indiferent cum rearanjezi cifrele
-daca numarul de cifre este acelasi, se ordoneaza cifrele din MIN in ordine descrescatoare (ex: 546 devine 654) si rezultatul se compara cu MAX

#13
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005

View Post_Smiley_, on 17 septembrie 2014 - 08:27, said:

nu e nevoie de sortare, determinarea minimului si maximului se poate face fara sa se pastreze toate numerele (prima varianta de cod postata aici continea cateva instructiuni care faceau fix asta)
restul cerintei se rezolva relativ simplu:
-prima data se compara numarul de cifre; daca MIN are mai putine cifre decat MAX, atunci nu poti obtine un numar mai mare ca MAX indiferent cum rearanjezi cifrele
-daca numarul de cifre este acelasi, se ordoneaza cifrele din MIN in ordine descrescatoare (ex: 546 devine 654) si rezultatul se compara cu MAX
pai tot sortare este, si despre ea am vorbit
am scris 3 randuri ... de unde si pana unde ati inteles voi ca trebuie sa sortati toate numerele, in ideea in care am specificat "10 sau 20 de cifre"?

Edited by MarianG, 17 September 2014 - 11:40.


#14
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
cand ai spus asta:

View PostMarianG, on 16 septembrie 2014 - 17:24, said:

Anagrama aia trebuie sa fie o sortare a numarului primit ca parametru....
eu am crezut ca ai folosit din greseala singularul in loc de plural. acum imi dau seama ca prin "sortarea numarului" tu intelegi "sortarea cifrelor numarului".

#15
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005
Tu ce intelegi printr-un sir sortat?

#16
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
dar tu ce intelegi printr-un numar sortat?

#17
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005
Un numar scris dupa o regula arbitrara.

#18
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,025
  • Înscris: 24.02.2006
ok, spune-mi si mie o regula de sortare pentru numarul 7 :)

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