Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
PC game stream catre Nvidia Shiel...

Pompa de apa HEPU ?!

Vreau o masina electrica de tocat...

Cum ajunge remorca de tir inapoi ...
 Alt "Utilizator nou" pe T...

ULBS INFORMATICA

Index preturi

Boxa membrana tweeter infundata
 Am nevoie de poze cu un curcubeu

Whisky for Mac

Xiaomi 14 Gpay

Izolare zid exterior de scandura
 Dezinstalare drivere W11 23H3

Recomandare masina de spalat fiab...

BSOD din cauza Intel Audio DSP dr...

De ce sunt oamenii nostalgici
 

ordine crescatoare

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

#1
BoMi

BoMi

    New Member

  • Grup: Members
  • Posts: 17
  • Înscris: 11.08.2014
Ma puteti ajuta la urmatoarea problema?
"Se citeste de la tastatura un sir de numere intregi,atata timp cat nu s-a citit valoarea 0.Scrieti un algoritm care verifica daca numerele din sir sunt in ordine crescatoare."
#include <iostream>

using namespace std;
int x ,a,ord=0;
int main()
{ cin>>x;
     while(x!=0)
     {
        cin>>a;
        cin>>x;
        if(x<a)
            ord=1;
        a=x;
        x=a;
     }
     cout<<"ord este"<<ord;

    return 0;
Asta am incercat eu,dar nu merge.

#2
yonut_a

yonut_a

    Trala la la la

  • Grup: Senior Members
  • Posts: 3,946
  • Înscris: 03.08.2008
acum explica ce ai vrut sa faci

#3
BoMi

BoMi

    New Member

  • Grup: Members
  • Posts: 17
  • Înscris: 11.08.2014

View Postyonut_a, on 22 august 2014 - 16:06, said:

acum explica ce ai vrut sa faci
Am presupus ca nu e crescator,l-am citit pe x si dupa intra in while .In while mai citesc o variabila a si testez sa vada daca x<a,daca e adevarat ord=1 si inaintez in sir.Dupa ce am tastat 0 imi scrie daca sirul e crescator sau nu,asta ar fi trebuit sa arata,dar nu merge.

#4
yonut_a

yonut_a

    Trala la la la

  • Grup: Senior Members
  • Posts: 3,946
  • Înscris: 03.08.2008
primul x se pierde , nu il compari cu nimic
daca a = 0 se mai respecta conditia din while ?
ord ala nu ar trebui sa se faca si el zero la un moment data daca sirul nu e crescator ?

a=x;
x=a;

aici oare ce ai vrut sa faci.

Ai pus mana pe pix si foaie sa faci niste exemple concrete ?

#5
BoMi

BoMi

    New Member

  • Grup: Members
  • Posts: 17
  • Înscris: 11.08.2014

View Postyonut_a, on 22 august 2014 - 16:51, said:

primul x se pierde , nu il compari cu nimic
daca a = 0 se mai respecta conditia din while ?
ord ala nu ar trebui sa se faca si el zero la un moment data daca sirul nu e crescator ?

a=x;
x=a;

aici oare ce ai vrut sa faci.

Ai pus mana pe pix si foaie sa faci niste exemple concrete ?
Am mai imbunatatit algoritmul:
#include <iostream>

using namespace std;
int x,a,ord=0;
int main()
{ cin>>x;
  cin>>a;
  if(x<a)
    ord=1;
  while(x!=0 && a!=0)
  {
    cin>>x;
    cin>>a;
    if(x<a)
        ord=1;
      else if(x>a)
        ord=0;
        a=x;
  }
  cout<<"ord este:"<<ord;
    return 0;
Acum merge,dar cum as putea face ca dupa numai un 0 sa se opreasca?cum l-am facut eu se opreste dupa vreo 2-3 de 0 consecutivi.

#6
yonut_a

yonut_a

    Trala la la la

  • Grup: Senior Members
  • Posts: 3,946
  • Înscris: 03.08.2008
break

#7
BoMi

BoMi

    New Member

  • Grup: Members
  • Posts: 17
  • Înscris: 11.08.2014

View Postyonut_a, on 22 august 2014 - 17:31, said:

break
Aha,nu l-am facut inca la scoala

#8
EnachescuAlin

EnachescuAlin

    Active Member

  • Grup: Members
  • Posts: 1,008
  • Înscris: 08.07.2013
cu do while

#9
yonut_a

yonut_a

    Trala la la la

  • Grup: Senior Members
  • Posts: 3,946
  • Înscris: 03.08.2008
si crezi ca musca daca il inveti singur ?

#10
BoMi

BoMi

    New Member

  • Grup: Members
  • Posts: 17
  • Înscris: 11.08.2014

View PostEnachescuAlin, on 22 august 2014 - 17:53, said:

cu do while
Adica,sa folosesc in loc de while do while?

#11
matamata123

matamata123

    Junior Member

  • Grup: Members
  • Posts: 164
  • Înscris: 14.08.2012
@BoMi tie iti trebuie un A si un B (sau cum vrei sa le zici)
#include <iostream>
using namespace std;
int A, B = -1;					//A precede pe B (initializam B, cu o valoare diferita de 0, pentru a intra in ciclul while
bool ASC = 1;
int main()
{
	cin >> A;				   //citim primul numar
	while (B != 0)
	{
		cin >> B;			   //citirea numarului B(de la al 2-lea incolo)
		if (B == 0) break;	  //conditia de oprire a ciclului
		if (A >= B) ASC = 0;	//conditia de ordine crescatoare
		A = B;				  //A devine B, urmand ca la urmatoarea ciclare, B sa fie chiar urmatorul numar dupa A
	}
	if (ASC == 0) cout<< "NU E";
	else cout << "E";
}



#12
BoMi

BoMi

    New Member

  • Grup: Members
  • Posts: 17
  • Înscris: 11.08.2014

View Postmatamata123, on 22 august 2014 - 20:06, said:

@BoMi tie iti trebuie un A si un B (sau cum vrei sa le zici)
#include <iostream>
using namespace std;
int A, B = -1;					//A precede pe B (initializam B, cu o valoare diferita de 0, pentru a intra in ciclul while
bool ASC = 1;
int main()
{
	cin >> A;				   //citim primul numar
	while (B != 0)
	{
		cin >> B;			   //citirea numarului B(de la al 2-lea incolo)
		if (B == 0) break;	  //conditia de oprire a ciclului
		if (A >= B) ASC = 0;	//conditia de ordine crescatoare
		A = B;				  //A devine B, urmand ca la urmatoarea ciclare, B sa fie chiar urmatorul numar dupa A
	}
	if (ASC == 0) cout<< "NU E";
	else cout << "E";
}

Mersi mult !

#13
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Definesti "precedent" drept cea mai mica valoare ce poate fi stocata intr-un int.
Citesti x.
Daca x e 0 te opresti si zici ca-s in ordine crescatoare.
Daca x e mai mica decat precedent, te opresti si zici ca nu-s in ordine crescatoare.
Actualizezi precedent cu x'ul proaspat citit.

#14
MarianG

MarianG

    be that as it may

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

View PostBoMi, on 22 august 2014 - 15:55, said:

Ma puteti ajuta la urmatoarea problema?
"Se citeste de la tastatura un sir de numere intregi,atata timp cat nu s-a citit valoarea 0.Scrieti un algoritm care verifica daca numerele din sir sunt in ordine crescatoare."

Se citeste un numar / sir
scanf("%d", numar);

cat timp nu este zero
do
{
	 scanf("%d", numar);
}while (numar!=0);

verifici daca sunt ....
do
{
	  if (numar < anterior) { crescator = 0; }
	  anterior=numar;
	  scanf("%d", numar);
}while (numar!=0);
apoi vezi ce variabile ai folosit, si le initializezi corespunzator
int anterior, numar, crescator;

Edited by MarianG, 23 August 2014 - 19:24.


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

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