Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii
 Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...
 Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor
 Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...

Renault Android
 

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,980
  • Î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

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

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