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

Se citesc de la tastatură poz<=n<=1000, două numere naturale și n numere
întregi. Eliminați din vector elementul aflat pe poziția poz. (pentru eliminarea
elementului din poziţia poz, se observă că primele poz-1 elemente rămân
neschimbate, în timp ce elementele din poziţiile poz+1, poz+2,.......,n se
deplasează cu o poziţie spre stânga pentru a “umple” golul rămas prin
eliminarea elementului din poziţia poz. Evident, dimensiunea vectorului
scade cu o unitate) IN C++ CU EXPLICATII

Răspunsuri la întrebare

Răspuns de thet0mmy1407
0

Răspuns:

#include <iostream>

using namespace std;

int main(){

   int V[100], poz, i, n;

   cin >> n >> poz;

   for(i = 1; i <= n; i++)

       cin >> V[i];

   for(i = poz; i < n; i++)

       V[i] = V[i+1];

   n--;

   for(i = 1; i <= n; i++)

       cout << V[i] << " ";

Explicație:

Citim n, poz de pe care vrem sa eliminam elementul, apoi citim vectorul si folosim algoritmul de permutare, incepand cu elementul de pe pozitia 'poz' pana la n, apoi avem n-- deoarece dispare un element, iar la final afisam noul vector.

Alte întrebări interesante