Удаление элементов массива - C (СИ) (69955)
Формулировка задачи:
Здравствуйте. Дан двумерный массив (N=4, M=5). Удалить из строк все отрицательные элементы, дополняя её справа нулями. Подскажите, пожалуйста, как сделать.
Решение задачи: «Удаление элементов массива»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <time.h> #define N 4 #define M 5 int main(void) { int i, j, A[N][M], buf[M], bufIndex; srand(time(NULL)); /* генерация СЧ и вывод на экран */ for (i = 0; i < N; i++) { for (j = 0; j < M; j++) { A[i][j] = -5 + rand() % 10; printf("%2d ", A[i][j]); } printf("\n"); } /* замена */ printf("\nAfter:\n"); for (i = 0; i < N; i++) { bufIndex = 0; for (j = 0; j < M; j++) if (A[i][j] >= 0) /* копируем неотрицательные значения */ buf[bufIndex++] = A[i][j]; /* если было хотя бы одно отрицательное значение */ if (bufIndex != M) for (j = 0; j < M; j++) A[i][j] = (j < bufIndex ? buf[j] : 0);/*пока j меньше bufIndex берём значения из buf*/ /* выводим результат на экран */ for (j = 0; j < M; j++) printf("%2d ", A[i][j]); printf("\n"); } return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размерность массива
- Инициализируем переменные для работы с массивом
- Генерируем случайные числа и выводим их на экран
- Производим замену элементов массива, удаляя отрицательные значения
- Проверяем результат замены и выводим его на экран
- Возвращаем 0, завершая работу программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д