Jump to content
Begedeu

Ajutor la o problema de algoritmica

Recommended Posts

Posted

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;
}

Posted

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

Posted
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 .

Posted

Daca te folosesti de un sir, parcurgi pana la ultimul element, daca citesti acel zero.

rbrwxf.png

Alternativ, verificare odata cu citirea numarului si evitarea folosirii unui sir (moar memory).

rrducr.png

Posted (edited)

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
Posted

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

Posted
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?

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...