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

Se citesc de la tastatură n<=100, un număr natural și n numere întregi.
Determinați poziția primului element din vector cu proprietatea că este
medie aritmetică între succesorul și predecesorul său. (Pentru a determina
primul element (de indice minim) cu o anumită proprietate, se parcurge
vectorul de la stânga la dreapta până când găsim primul element
cu proprietatea cerută sau până când epuizăm elementele vectorului) IN C++ CU EXPLICATII VA ROG DETALIAT

Răspunsuri la întrebare

Răspuns de lucaciucandrei
0

COROANA TE ROG!!!

tot ce e scris ingrosat reprezinta explicatia la problema, detaliat!

#include<iostream>

using namespace std;

int main(){

   int n, v[101]; //declar variabilele n, numarul de componente ale vectorului si v, vectorul, cu maxim 100 componente

   cin>>n; //citesc numarul de componente

   for(int i=1;i<=n;i++) cin>>v[i]; //citesc componenele in vectorul v

   for(int i=2;i<=n-1;i++) //pornesc de la al doilea element din vector, deoarece primul element nu are un predecesor si nu ii poti efectua media aritmetica si parcurg pana la penultimul element din vector, din acelasi motiv si pentru ultimul element al vectorului ca si al primului element

       if(v[i]==(v[i-1]+v[i+1])/2){ //daca componenta de pe pozitia i verifica proprietatea ceruta de problema

           cout<<i; //afisez pozitia componentei

           return 0; //opesc programul deoarece mi se cere prima pozitie gasita

       }

   cout<<"nu exista"; //in cazul in care programul nu intra pe instructiunea "return 0", adica nu a gasit un element care sa fie egal cu media arimetica a vecinilor sai, se va afisa ca nu exista

}

Alte întrebări interesante