Jump to content
Paul4games

Algoritm

Recommended Posts

Plm am o problema la info ,am stat o ora sa ma gandesc la ea am rezolvato dar pana la urma mi-am dat seama ca era rezolvata gresit(nu mai postez ce tampenie am facut).Cerinta la problema este:

Se citesc de la tastatura un numar natural n si un sir de n numere intregi.Scrieti un algoritm eficient care determina cea mai mare valoare negativa dintre cele citite,precum si numarul de aparatii(aparitiile astea mo futut rau de tot) ale acesteia in cadrul sirului.In cazul in care sirul citit nu contine nici o valoare negativa, se va afisa mesajul "NU EXISTA".

Exemplu: Pentru n=8 si numerele (10,3,-4,-7,-4,-9,11,-4), se vor afisa valorile -4 si 3,deoarece -4 este cel mai mare element negativ al sirului si apare de 3 ori.

Ps:Zice ca in pseudocod sau in pasca,acum merge si in alte limbaje si o transcriu eu in pascal!

Link to comment
Share on other sites

Mai pe programeste ;p.

Fara sortari, cautari, vectori, draci, laci, craci. Totul se face liniar in O(n).

#include <iostream>

using namespace std;

int main()
{
int n, nr, max = -32767, ap = 0;
bool flag = false;
cout << "n: ";
cin >> n;
cout << "Introdu " << n << " numere...\n";
while (n-- > 0) {
cin >> nr;
if (nr < 0) {
flag = true;
if (nr == max) {
ap++;
} else if (nr > max) {
max = nr;
ap = 1;
}
}
}
if (flag) {
cout << max << " " << ap;
} else {
cout << "NU EXISTA";
}
system("pause >nul");
return 0;
}

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