Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //1) Сформировать массив из n элементов.Количество элементов и их значения считываются из текстового файла.
- //2) Распечатать полученный массив.
- //3) Выполнить удаление все четные элементы из массива.
- //4) Вывести полученный результат в текстовый файл.
- //5) Выполнить добавление К элементов в конец массива(что вставлять запрашивать у пользователя) в массив.
- //6) Вывести полученный результат в текстовый файл.
- //7) Выполнить перестановку Положительные элементы переставить в начало массива, отрицательные - в конец в массиве.
- //8) Вывести полученный результат в текстовый файл.
- //9) Выполнить поиск Первый отрицательный.
- //10) Вывести полученный результат в текстовый файл.
- //11) Выполнить сортировку массива Шейкер по убыванию
- //12) Вывести полученный результат в текстовый файл.
- //13) Выполнить поиск Первый отрицательный в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента.
- //14) Вывести полученный результат в текстовый файл.
- #include <fstream>
- #include <iostream>
- #include <locale>
- using namespace std;
- int n; //ГЛОБАЛЬНАЯ, ЧТОБЫ НЕ ЕБАТЬ МОЗГ
- void Delete(int *mass){
- for (int i = n-1; i >= 0; i--)
- {
- if (mass[i] % 2 == 0){
- for (int j = i; j < n - 1; j++){
- mass[j] = mass[j + 1];
- }
- n--;
- }
- }
- }
- void Add(int *mass){
- int K;
- cout << "K = ";
- cin >> K;
- n = n + K;
- for (int i = n-K; i < n; i++){
- cin >> mass[i];
- }
- }
- void Swap(int *mass){
- int* mass2 = new int[n];
- int j = 0;
- int m = 0;
- for (int i = 0; i < n; i++){
- if (mass[i] >= 0){
- mass2[j] = mass[i];
- j++;
- }
- else{
- mass2[n - m] = mass[i];
- m++;
- }
- }
- for (int i = 0; i < n; i++){
- mass[i] = mass2[i];
- }
- }
- void Find(int *mass){
- }
- void sort_sheker(int *mass) {
- int left, right;
- double t;
- left = 0;
- right = n - 1;
- int flag = 1; // флаг наличия перемещений
- while ((left < right) && flag > 0) {
- flag = 0;
- for (int i = left; i<right; i++) { //двигаемся слева направо
- if (mass[i]<mass[i + 1]) {
- t = mass[i];
- mass[i] = mass[i + 1];
- mass[i + 1] = t;
- flag = 1;
- }
- }
- right--;
- for (int i = right; i>left; i--) { //двигаемся справа налево
- if (mass[i - 1]<mass[i]) {
- t = mass[i];
- mass[i] = mass[i - 1];
- mass[i - 1] = t;
- flag = 1;
- }
- }
- left++;
- }
- }
- void main(){
- ifstream f("input.txt", ios::in);
- f >> n;
- int* mass = new int[n];
- for (int i = 0; i < n; i++){
- f >> mass[i];
- cout << mass[i] << " ";
- }
- cout << endl;
- Delete(mass);
- for (int i = 0; i < n; i++){
- cout << mass[i] << " ";
- }
- cout << endl;
- Add(mass);
- for (int i = 0; i < n; i++){
- cout << mass[i] << " ";
- }
- cout << endl;
- Swap(mass);
- for (int i = 0; i < n; i++){
- cout << mass[i] << " ";
- }
- cout << endl;
- Find(mass);
- for (int i = 0; i < n; i++){
- cout << mass[i] << " ";
- }
- cout << endl;
- sort_sheker(mass);
- for (int i = 0; i < n; i++){
- cout << mass[i] << " ";
- }
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment