Informatică, întrebare adresată de ddavidd, 9 ani în urmă

Rezolvare completa in c++ utilizand functii si subprograme(multumesc).--->Se citesc n numere naturale de la tastatură. Se cere să se verifice dacă numerele date sunt sau nu în ordine crescătoare (n este număr natural dat, 1 n 1000).

Răspunsuri la întrebare

Răspuns de Razzvy
1
#include <iostream>
using namespace std;

void citire(int a[], int & n)
{
   cin>>n;
   for(int i = 0; i < n; ++i)
      cin>>a[i];
}

bool crescator(int a[], int n)
{
   for(int i = 1; i < n; ++i)
   {
      if(a[i - 1] > a[i]) return false;
   }
   return true;
}

int main()
{
   int n, a[1000];
   
   citire(a, n);
   
   if(crescator(a, n))
      cout<<"DA";
   else
      cout<<"NU";
}

ddavidd: ce inseamna acel for si conditia de la if?
Razzvy: Acel for parcurge vectorul
Razzvy: La inceput presupunem ca sirul este crescator.
Razzvy: El va fi crescator pana la proba contrarie.
Razzvy: Si am verificat fiecare pereche de numere consecutive, adica: a[i] si a[i - 1]
Razzvy: Daca a[i - 1] > a[i] inseamna ca doua elemente consecutive sunt in ordine descrecatoare
Razzvy: Atunci sirul nu mai poate fi crescator. Ca sirul sa fie crescator, trebuie sa fie indeplinita pentru fiecare element conditia a[i - 1]
Razzvy: *a[i - 1] <= a[i]
Razzvy: Se mai putea scrie a[i] > a[i + 1]
ddavidd: aha,multumesc mult
Alte întrebări interesante