Упражнения на C: Удалить все экземпляры заданного значения в данном массиве целых чисел и вернуть длину нового массива.
Практика программирования C: Упражнение 13 с решением
Напишите C-программирование, чтобы удалить все экземпляры заданного значения в заданном массиве целых чисел и вернуть длину нового массива.
Код C:
#include <stdio.h>
#include <stdlib.h>
static int removeElement(int *nums, int arr_size, int val)
{
int i, ctr = 0;
for (i = 0; i < arr_size; i++) {
if (nums[i] != val) {
nums[ctr++] = nums[i];
}
}
return ctr;
}
int main(void)
{
int nums[] = {1,1,2,3,4,4,5,6,6,6};
int size = sizeof(nums)/sizeof(nums[0]);
printf("Original array:\n");
int i;
int val = 4;
for (i = 0; i < size; i++) {
printf("%d ", nums[i]);
}
int new_size = removeElement(nums, size, val);
printf("\nSize of the new array after removing the value 4: %d\n",new_size);
return 0;
}
Пример вывода:
Исходный массив: 1 1 2 3 4 4 5 6 6 6 Размер нового массива после удаления значения 4: 8
Иллюстрированная презентация:
Блок - схема:
Решение
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программирование на C, чтобы удалить дубликаты из заданного массива целых чисел.
Далее: написать программу на C, чтобы найти индекс первого вхождения данной строки в другой данной строке. Если не найдено, верните -1.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code