30. Să se localizeze elementul maxim şi toate elementele dinaintea lui să se ordoneze crescător, iar cele de după el, descrescător, afişându-se rezultatul.
În c++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
void citesteVectorul(int v[], int n) {
for (int i = 0; i < n; i++)
cin >> v[i];
}
void afiseazaVectorul(int v[], int n) {
for (int i = 0; i < n; i++)
cout << v[i] << " ";
cout << "\n";
}
int gasestePozitiaMaximului(int v[], int n) {
int max = v[0], index = -1;
for (int i = 1; i < n; i++) {
if (max < v[i]) {
max = v[i];
index = i;
}
}
if (index > -1)
return index;
}
void ordoneazaCrescator(int v[], int d) {
int aux;
for (int i = 1; i < d; i++) {
for (int j = 0; j < d; j++) {
if (v[j] > v[i]) {
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
}
}
int main() {
int n, m, i;
cin >> n;
int v[n];
cout << "Adaugam " << n << " valori in vector" << "\n";
citesteVectorul(v, n);
cout << "Vecotrul initial" << "\n";
afiseazaVectorul(v, n);
cout << "Pozitia elementului maxim din vector este " << gasestePozitiaMaximului(v, n)
<< " care in vector se regasete cu valoarea " << v[gasestePozitiaMaximului(v, n)];
cout << endl;
ordoneazaCrescator(v, gasestePozitiaMaximului(v, n));
cout << endl;
cout << "Elementele dinaintea valorii " << v[gasestePozitiaMaximului(v, n)] << " ordonate crescator " << "\n";
afiseazaVectorul(v, gasestePozitiaMaximului(v, n));
return 0;
}
Explicație:
Ai mai jos o screen cu codul intr-un text editor si un exemplu sa vezi ca codul functioneaza .
Asa ca iti urez bafta si sper sa intelegi cum am procedat si de ce functioneaza codul :)) ,daca nu astept intrebari