Загрузка...

Laba c++

Thread in C/C++ created by bomjorii Oct 12, 2022. 163 views

  1. bomjorii
    bomjorii Topic starter Oct 12, 2022 https://zelenka.guru/threads/5035223/ фри 100р 31 Aug 25, 2021
    В одномерном массиве все нулевые элементы перенести
    в конец массива, дополнительный массив использовать не разрешается. Посчитать количество перемещений.

    Есть идея, что нужно просто двигать на i+1, но реализовать не могу
     
  2. kageno
    kageno Oct 12, 2022 1625 Dec 12, 2016
    bomjorii, не изменяя порядок других элементов относительно друг друга?
     
    1. bomjorii Topic starter
      kageno, да похрен, главное чтобы нули в конце
  3. Dezo
    Dezo Oct 12, 2022 210 Jun 30, 2021
    Узнай индекс каждого нулевого элемента и перенеси в конец массива через буферную переменную
     
    1. bomjorii Topic starter
      Dezo, как это сделать?
    2. Dezo
      bomjorii, там легко на самом деле, просто нужно понять принцип
  4. Dezo
    Dezo Oct 12, 2022 210 Jun 30, 2021
    Циклом проверяй элементы массива на равность нулю, потом просто меняй значения местами.
    The post was merged to previous Oct 12, 2022
    for(int i = 0; i < длинна массива - i; i++) типа такого цикла
     
    1. bomjorii Topic starter
      Dezo, а как записать что меняю?
    2. Dezo
      bomjorii, там чел ниже код скинул, так и запиши. Тот же самый принцип что я описал, ток сделан чуть иначе
    3. bomjorii Topic starter
  5. kageno
    kageno Oct 12, 2022 1625 Dec 12, 2016
    bomjorii, если не важен порядок, то вот так
    C
    #include <iostream>

    using namespace std;

    int main()
    {
    int n[] = {1, 0, 2, 3, 0, 4, 5, 4, 0};
    int ns = sizeof(n) / sizeof(int);

    for (int i = 0; i < ns; i++) {
    cout << n[i] << " ";
    }

    int lastReplaceIndex = ns;
    for (int i = ns - 1; i >= 0; i--) {
    if (n[i] == 0) {
    swap(n[i], n[lastReplaceIndex - 1]);
    lastReplaceIndex -= 1;
    }
    }
    cout << endl;

    for (int i = 0; i < ns; i++) {
    cout << n[i] << " ";
    }
    }
     
    1. bomjorii Topic starter
      kageno, спасибо, дома чекну
Top
Loading...