Переписать все ненулевые элементы из одного массива в другой, не меняя порядка следования - C (СИ)

Узнай цену своей работы

Формулировка задачи:

1. int removeZeroes (int *array, int *result, int n); Из массива array записать все ненулевые элементы в массив result, в том же порядке как элементы идут в исходном массиве. Длины массивов зада- ются параметром n. Функция возвращает количество записанных элементов. Пример: 1 0 2 3 0 4 0 0 7 1 2 3 4 7

Решение задачи: «Переписать все ненулевые элементы из одного массива в другой, не меняя порядка следования»

textual
Листинг программы
int removeZeroes(int* array, int* result, int n) {
    int cnt = 0;
    while (0 < n--) {
        if (*array) {
            *result++ = *array;
            cnt++;
        }
        array++;
    }
    return cnt;
}

Объяснение кода листинга программы

В данном коде реализована функция removeZeroes, которая удаляет все нулевые элементы из массива, пропуская их при копировании в другой массив. Пояснение к коду:

  1. В функции объявлены три переменные: cnt, array и result.
  2. Переменная cnt инициализируется нулем и используется для подсчета количества ненулевых элементов.
  3. Переменная array - это указатель на первый элемент массива, который мы хотим обработать.
  4. Переменная result - это указатель на первый элемент результирующего массива, в который будут копироваться ненулевые элементы.
  5. Затем, в цикле while, происходит обработка каждого элемента массива.
  6. Условие цикла while проверяет, что индекс элемента больше нуля, чтобы избежать выхода за границы массива.
  7. Если элемент массива не равен нулю, то он копируется в результирующий массив, и значение переменной cnt увеличивается на единицу.
  8. После копирования элемента, указатель array увеличивается на единицу, чтобы перейти к следующему элементу.
  9. По завершении цикла, функция возвращает значение переменной cnt, которая равна количеству ненулевых элементов в массиве.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы