Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <locale>
- #include <iomanip>
- using namespace std;
- ifstream f("ishod.txt", ios::in);
- //Кол-во элементов и значения записаны в файл. Удалить все эл-ты между первым минимальным и последним максимальным
- int* form_mass(int n){
- int a;
- int* massive = new int[n];
- for (int i = 0; i < n; i++){
- f >> massive[i];
- }
- return massive;
- }
- void Find(int* mass,int n,int &min, int &max){
- int nummax = mass[0], nummin = mass[0];
- for (int i = 0; i < n; i++){
- if (mass[i] >= nummax){
- nummax = mass[i];
- max = i;
- }
- if (mass[i] < nummin){
- nummin = mass[i];
- min = i;
- }
- }
- }
- void main(){
- setlocale(LC_ALL, "rus");
- int n,min=0,max=0;
- f >> n;
- int* massive = new int[n];
- massive = form_mass(n);
- cout << "Исходный массив : " << endl;
- for (int i = 0; i < n; i++){
- cout << massive[i] << " ";
- }
- cout << endl;
- Find(massive, n, min, max);
- cout << "Min index = " << min+1 << " Max index = " << max+1;
- cout << endl;
- cout << "После обработки : " << endl;
- if (min < max)
- {
- while (min + 1 != max){ // Если минимальный левее максимального
- for (int i = min + 1; i <= max+(n-max); i++){
- massive[i] = massive[i + 1];
- }
- n--;
- max--;
- }
- }
- else
- {
- while (max + 1 != min){ // Если минимальный правее максимального
- for (int i = max + 1; i <= min+(n-min); i++){
- massive[i] = massive[i + 1];
- }
- n--;
- min--;
- }
- }
- for (int i = 0; i < n; i++){
- cout << massive[i] << " ";
- }
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment