Удаление элементов массива - 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, завершая работу программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д