Răspuns :
Răspuns:
#include <bits/stdc++.h> //includem libraria bits/stdc++.h care contine toate celelate librari
using namespace std; // folosim standardul
int v[1001]; // declaram vectorul v de 1001 pozitii
int main() // declaram functia main
{
int n; // declararea lui n
int st, dr; // declararea lui st si dr
int x; // declararea lui x
int poz; // declararea lui poz
int mid; // declararea lui mid
cin >> n; // citirea lui n
for(int i = 1; i <= n; i++)
{
cin >> v[i]; // citirea vectorului
}
sort(v+1, v+n+1); // sortam vectorul deoarece vom folosii cautarea binara
for(int i = 1; i <= n; i++) // parcurgerea vectorului inca o data pentru a rezolva cerinta
{
if(v[i] == (v[i+1] + v[i-1]) / 2) // verificam daca este medie aritmetica
{
x = v[i]; // retinem numarul intr-o variabila pentru cautarea binara;
}
st = 1, dr = n, poz = n + 1; // atribuim 1 pentru st deoarece este capatul din stanga al vectorului, n pentru dr pentru ca este capatul din dreapta al vectorului si n + 1 pentru poz
while(st <= dr) // cat timp stanga mai mic decat dreapta
{
mid = (st + dr) / 2; // aflam mijlocul vectorului
if(v[mid] >= x) // daca elementul din mijloc este mai mare decat numarul cautat
{
poz = mid; // ii dam lui poz valoare lui mid
dr = mid - 1; // restrangem intervalul in care cautam spre stanga
}
else
{
st = mid + 1; // restrangem intervalul in care cautam spre dreapta
}
}
}
cout << poz; // scriem pozitia
return 0; // terminarea programului
}
Explicație:
nu stiu daca e corecta 100%, nu mi-ai dat date de intrare si de iesire
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.