Удаление элементов массива - C (СИ) (69955)

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

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

Здравствуйте. Дан двумерный массив (N=4, M=5). Удалить из строк все отрицательные элементы, дополняя её справа нулями. Подскажите, пожалуйста, как сделать.

Решение задачи: «Удаление элементов массива»

textual
Листинг программы
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #define N 4
  5. #define M 5
  6.  
  7. int main(void)
  8. {
  9.     int i, j, A[N][M], buf[M], bufIndex;
  10.     srand(time(NULL));
  11.     /* генерация СЧ и вывод на экран */
  12.     for (i = 0; i < N; i++)
  13.     {
  14.         for (j = 0; j < M; j++)
  15.         {
  16.             A[i][j] = -5 + rand() % 10;
  17.             printf("%2d ", A[i][j]);
  18.         }
  19.         printf("\n");
  20.     }
  21.  
  22.     /* замена */
  23.     printf("\nAfter:\n");
  24.     for (i = 0; i < N; i++)
  25.     {
  26.         bufIndex = 0;
  27.         for (j = 0; j < M; j++)
  28.             if (A[i][j] >= 0) /* копируем неотрицательные значения */
  29.                 buf[bufIndex++] = A[i][j];
  30.         /* если было хотя бы одно отрицательное значение */
  31.         if (bufIndex != M)
  32.             for (j = 0; j < M; j++)
  33.                 A[i][j] = (j < bufIndex ? buf[j] : 0);/*пока j меньше bufIndex берём значения из buf*/
  34.  
  35.         /* выводим результат на экран */
  36.         for (j = 0; j < M; j++)
  37.             printf("%2d ", A[i][j]);
  38.         printf("\n");
  39.     }
  40.  
  41.     return 0;
  42. }

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

  1. Включаем необходимые заголовочные файлы
  2. Определяем размерность массива
  3. Инициализируем переменные для работы с массивом
  4. Генерируем случайные числа и выводим их на экран
  5. Производим замену элементов массива, удаляя отрицательные значения
  6. Проверяем результат замены и выводим его на экран
  7. Возвращаем 0, завершая работу программы

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


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

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

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы