Jump to content
Begedeu

Ajutor la o problema de algoritmica

Recommended Posts

Sincer sunt incepator in algoritmica va rog sa ma ajutati la o problema .

Se introduce un sir de numere de la tastatura pana la intalnirea valorii 0. Sa se afiseze :

a)Maximul dintre numerele negative

b)minimul dintre nr negative

c)maximul dintre nr pozitive

d)minimul dintre nr pozitive

Ce am facut eu . Nu mi-a iesit la negative si nu am mai continuat si la celelalte.

#include<iostream>
#include<conio.h>
using namespace std;
int main(){
int n,max,min,max1,min1;
cout <<"n=";cin>>n;
while (n<0){
cout <<"n=";cin>>n;}
if (n==0) cout <<"Nu exista nr negative";
else{
max=n;
min=n; }

while (n != 0){
if (n>max && n<0)
max=n;
if (n<min && n<0)
min=n;
cout <<"n=";cin>>n;
}

cout <<"Maximul este : "<<max<<endl;
cout <<"Minimul este : "<<min;
getch();
return 0;
}

Link to comment
Share on other sites

http://sprunge.us/aBNb

Citirea o faci tu, e un simplu while(). Pe scurt, ai doua posibilitati de a rezolva exercitiul actual - prima, de a face verificarile odata cu citirea numerelor, iar a doua, cea folosita de mine, verificarea fiecarui numar prin parcurgerea sirului. Indiferent de metoda, ai iarasi cate doua cazuri; unul cand numerele tale sunt negative (<0), iar al doilea, cand numerele sunt pozitive (>=0 «de citit, sunt cazuri in care zero nu este considerat pozitiv, dar nu cred ca ne influenteaza momentan»). Pe fiecare caz, faci doua verificari, una pentru maxim, una pentru minim.

http://a.pomf.se/hwjuah.png

Link to comment
Share on other sites

http://sprunge.us/aBNb

Citirea o faci tu, e un simplu while(). Pe scurt, ai doua posibilitati de a rezolva exercitiul actual - prima, de a face verificarile odata cu citirea numerelor, iar a doua, cea folosita de mine, verificarea fiecarui numar prin parcurgerea sirului. Indiferent de metoda, ai iarasi cate doua cazuri; unul cand numerele tale sunt negative (<0), iar al doilea, cand numerele sunt pozitive (>=0 «de citit, sunt cazuri in care zero nu este considerat pozitiv, dar nu cred ca ne influenteaza momentan»). Pe fiecare caz, faci doua verificari, una pentru maxim, una pentru minim.

http://a.pomf.se/hwjuah.png

Multumesc , dar totusi e un bug , cum fac sa nu mi-l mai ia pe 0 in considerare ?

F_r_titlu.png

Am incercat sa iau toate numerele intr-un vector dar mai mare cacat a iesit .

Link to comment
Share on other sites

Multumesc de ajutor !

Edit : Redeschid topicul , spuneti-mi va rog dece am eroare la aproape fiecare program care include determinarea minimului si maximului .

Deci daca initializez x cu 0 , minimul mi-l ia 0 .

F_r_titlu.png

Daca nu il initializez , o ia maximul razna.

F_r_titlu.png

@pr00f

Edited by Begedeu
Link to comment
Share on other sites

Initializezi x ca fiind zero, apoi minimul (si maximul) ca fiind x, deci min (respectiv max) = 0. Orice numar pozitiv introdus este >=0, minimul ramanand 0. Protip, initializeaza minimul ca o valoare mare, iar maximul ca o valoare mica. Din cate observ, banuiesc ca asta vrei:

alpgyv.png

Link to comment
Share on other sites

Initializezi x ca fiind zero, apoi minimul (si maximul) ca fiind x, deci min (respectiv max) = 0. Orice numar pozitiv introdus este >=0, minimul ramanand 0. Protip, initializeaza minimul ca o valoare mare, iar maximul ca o valoare mica. Din cate observ, banuiesc ca asta vrei:

alpgyv.png

pr00f, ce compilator folosesti?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...