Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Merita achizitionat DFSK Fengon 5...

Pret actual invelitoare

Probleme baterie Samsung A54

Schema statie auto Renegade REN 1...
 Magazine IT de incredere

Parere SKODA Octavia 3 2.0TDI 150CP

Achizitie telefon 1000-1200lei

Unde gasesc o lampa buna pe gaz?
 Consulta specialiștii... Und...

Fostul director al Frontex: Comis...

Construire anexa lipita de casa

Ce folositi pentru urina mirosito...
 Socializare in prezenta copiilor

Cont Samsung A32

Hotarare definitiva a instantei, ...

Laptop office 2500 lei
 

Inserare în vector

- - - - -
  • Please log in to reply
6 replies to this topic

#1
RaReSRaRes

RaReSRaRes

    New Member

  • Grup: Junior Members
  • Posts: 9
  • Înscris: 20.02.2016
Se dă un vector v de n elemente, un extra element e și o poziție p. Să se insereze elementul e la poziția p. În final elementul e va fi pe poziția p în vector, iar elementele de la poziția p pînă la final vor fi deplasate spre final cu o poziție. Vom considera că p este o poziție validă, între 0 și n.
Programul citește de la tastatură numerele n,p,e, iar apoi n numere naturale, reprezentând elementele vectorului.
Programul afișează pe ecran, separate prin exact un spațiu, elementele vectorului
eu am incercat asa
#include <iostream>
using namespace std;
int main()
{long long n,v[1000],p,e,i;
cin>>n;
cin>>p;
cin>>e;
for (i=1;i<=n;i++) cin>>v[i];
for (i=1;i<=p;i++) v[p]=e;
n++;
for (i=1;i<=n;i++) cout<<v[i]<<' ';
}

#2
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,943
  • Înscris: 24.02.2006
si merge?

#3
Rhesus

Rhesus

    Senior Member

  • Grup: Senior Members
  • Posts: 2,882
  • Înscris: 22.04.2014

View PostRaReSRaRes, on 20 februarie 2016 - 13:58, said:

for (i=1;i<=n;i++) cin>>v[i];
for (i=1;i<=p;i++) v[p]=e;
n++;
for (i=1;i<=n;i++) cout<<v[i]<<' ';
}
auch............

Edited by Rhesus, 20 February 2016 - 15:17.


#4
ccdsah

ccdsah

    Senior Member

  • Grup: Senior Members
  • Posts: 2,581
  • Înscris: 16.03.2013
Iti zice si in enunt ca vectorul incepe de la 0!
for (int i=n;i>p;i--) v[i]=v[i-1];
v[p]=e;

Edited by ccdsah, 21 February 2016 - 06:48.


#5
RaReSRaRes

RaReSRaRes

    New Member

  • Grup: Junior Members
  • Posts: 9
  • Înscris: 20.02.2016
inteleg , dar iti schimba doar valoarea de pe pozitia respectiva. nu iti insereaza inca un element

#6
MihaiProg

MihaiProg

    Member

  • Grup: Members
  • Posts: 345
  • Înscris: 08.02.2016

View PostRaReSRaRes, on 21 februarie 2016 - 14:42, said:

inteleg , dar iti schimba doar valoarea de pe pozitia respectiva. nu iti insereaza inca un element
Trebuie sa creezi un nou vector cu dimensiunea vectorului vechi +1 (lungime_v+1)
apoi copiezi toate elementele din vectorul vechi inainte de pozitie (p) si pe cele de dupa pozitie (p), - faci asta cu doua for-uri (un for pentru fiecare copiere).
Apoi plasezi noul element (e) la pozitia respectiva (cum ai facut deja).

#7
RaReSRaRes

RaReSRaRes

    New Member

  • Grup: Junior Members
  • Posts: 9
  • Înscris: 20.02.2016
mersi

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate