|
Se consideră un vector v cu elemente numere întregi de cel mult patru cifre fiecare, cu lungimea n. Elementele vectorului sunt sortate crescător.
Scrieţi un program care afişează poziţia pe care ar trebui inserată valoarea x (diferită de oricare valoare din tabloul v) în vectorul v, astfel încât, vectorul să rămână sortat crescător.
Se afişează şi vectorul final. Exemplu: n=6, v={12,21,33,45,47,56}, x=46, se afişează: |
#include<iostream>
using namespace std; int main() { int v[100],n,i,s,d,m,x; cout<<"n=";cin>>n; for(i=1;i<=n;i++) { cout<<"v["<<i<<"]="; cin>>v[i]; } cout<<"Vectorul initial:"; for(i=1;i<=n;i++) cout<<v[i]<<" "; cout<<endl; cout<<"x=";cin>>x; cout<<endl; s=1;d=n; //cautam pozitia while(s<=d) { m=(s+d)/2; if(x<v[m]) d=m-1; else s=m+1; } cout<<"Elementul trebuie "; cout<<"sa-l introducem in pozitia "; cout<<s<<" ."; cout<<endl; //inseram elementul for(i=n+1;i>s;i--) v[i]=v[i-1]; v[s]=x; //afisam vectorul final cout<<"Vectorul dupa inserarea "; cout<<"elementului:"; for(i=1;i<=n+1;i++) cout<<v[i]<<" "; } |
Inserarea unui element într-un vector - joc + test de evaluare
Aranjarea elementelor într-un vector după anumite criterii - problemă rezolvată
Folosirea unui vector caracteristic pentru ordonarea şi pentru contorizarea unor numere - problemă rezolvată
Căutarea unei poziţii şi inserarea unui element în acea poziţie - problemă rezolvată
Test de evaluare - verificarea cunoştinţelor