Informatică, întrebare adresată de dobre50, 8 ani în urmă

Sa se verifice daca dupa fiecare element negativ dintr-un vector se afla un element pozitiv.


andrei750238: bool ok=1;
for(int i=0; i
if(ok) cout << "da";
else cout << "nu"
fatman195322: A secționat codul, ar fi bine să dai ca răspuns. Sper să primești notificare.

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

#include <iostream>

using std::cout, std::cin, std::endl;

int main() {

 int vectorNr[] = {-1, 2, 3, 4, -5, 8, -9, 5};

 // int vectorNr[] = {-1, -2, 3, 4, -5, 8, -9, 5}; aici condiția e falsă
 // int vectorNr[] = {-1, 2, 3, 4, -5, 8, -9, -5}; la fel și aici

 bool conditie = true;

 size_t dimensiuneVector = std::size(vectorNr);

 if (vectorNr[dimensiuneVector - 1] < 0) {

   cout << "Conditia nu este indeplinita, ultimul nr. din vec. este negativ! << endl;

   return 1;

 }

 for (size_t i = 0; i < dimensiuneVector - 1; i++) {

   if (vectorNr[i] < 0 && vectorNr[i + 1] < 0) {

     conditie = false;

     break;

   }

 }

 (conditie == true)

     ? cout << "Dupa fiecare nr. negativ este unul pozitiv!" << endl

     : cout << "Exista numere negative unul dupa celalat in vector!" << endl;

 return 0;

}

Explicație:

Ai un vector cu numere, m-am gândit că dacă ultimul număr e negativ practic nu mai ai cum să ai un număr pozitiv după el deci teoretic ar trebui să fie falsă condiția ca după fiecare număr negativ să ai unul pozitiv, aici depinde de tine dacă vrei să ți cont de asta sau nu.


Ai practic un for care merge până la penultimul element ( ca atunci când verifici următorul element să nu accesezi memorie din afara vectorului ).

Dacă numărul curent este negativ și numărul următor este tot negativ setezi condiția la false și ieși din for.

Dacă nu intri în if-ul din for practic condiția rămâne adevărată.

La final afișezi în funcție de condiție.


Dulgherul: Cam complicat raspuns. Eu as merge pe:

#include
Using namespace std;
Int main()
{
Int a[101],i,n;
Cin>>n;
For(i=1;i<=n;i++)
{
Cin>>a[i];
If(a[i]<0&&a[i+1]<0)
Cout<<“dupa fiecare element negativ se afla un alt element negativ”;
Else
Cout<<“undeva se afla un element pozitiv dupa unul negativ”;
}
Return 0;
}
Dulgherul: Si la exemplu nu cred ca e nevoie sa mai dau explicatii
Dulgherul: Ai acoperit destul de bine
Alte întrebări interesante