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

Se citesc de la tastatură k, un număr întreg, n<=1000, un număr natural și n
numere întregi. Eliminați din vector toate elementele egale cu k. (Pentru a
determina ultimul element cu o anumită proprietate, se parcurge vectorul
de la dreapta spre stânga (în ordinea descrescătoare a indicilor până când
găsim primul element cu proprietatea cerută sau până când
epuizăm elementele vectorului) IN C++ CU EXPLICATII

Răspunsuri la întrebare

Răspuns de lucaciucandrei
0

COROANA TE ROG!!!

#include<iostream>

using namespace std;

int main(){

   int n, k, v[1001]; //declar n, numar componente vector, k, valoarea ce trebuie eliminata din vector si v un vector cu maxim 1000 componente

   cin>>k>>n; //citesc k si n

   for(int i=1;i<=n;i++) cin>>v[i]; //citesc elementele vectorului

   for(int i=1;i<=n;i++) if(v[i]==k) {for(int j=i+1;j<=n;j++) v[j-1]=v[j]; i--; n--;} //daca elementul de pe pozitia i din vector e egal cu k, incep cu un for de la pozititia elementului+1, pana la n, si mut toate elementele cu o pozitie spre stanga, astfel suprascriind valoarea k din vector adica o elimin apoi scad pe i pentru a verifica daca exista tot valoarea k dupa cea curenta eliminata si scad n deoarece am eliminat o componenta

   for(int i=1;i<=n;i++) cout<<v[i]<<' '; //afisez vectorul modificat

   return 0;

}

Alte întrebări interesante