Из массива удалить первый отрицательный элемент (ошибка в программе) - C (СИ)
Формулировка задачи:
Написал программу
но увы всегда пишет что нет отрицательных. помогите пожалуйста!
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- double a[20];
- int i=0,z=0,j=0;
- printf("Enter mas:\n");
- for(i=0;i<20;i++)
- scanf("%d",&a[i]); //ввод массива
- for(i=0;i<20;i++);
- if(a[i]<0)//проверка на отрицательный член
- for(;a[i];i++)
- {
- a[i]=a[i+1];
- z++;
- }
- if (z==0)
- {
- printf ("no negative");
- }
- else
- {
- for(i=0;i<20;i++)
- printf ("%i",a[i]);
- }
- }
Решение задачи: «Из массива удалить первый отрицательный элемент (ошибка в программе)»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i=0,z=0, n = 20;
- int a[n];
- printf("Enter mas:\n");
- for(i=0;i<n;i++)
- scanf("%d",&a[i]); //ввод массива
- for(i=0;i<n;i++)
- if(a[i]<0)//проверка на отрицательный член
- {
- for(;i < n;i++)
- {
- a[i]=a[i+1];
- z++;
- }
- n--;
- }
- if (z==0)
- {
- printf ("no negative");
- }
- else
- {
- for(i=0;i<n;i++)
- printf ("%d ",a[i]);
- }
- return 0;
- }
Объяснение кода листинга программы
В этом коде используется язык программирования C.
- Сначала объявляются переменные:
i
используется как счетчик для двух циклов.z
используется для отслеживания количества удаленных элементов.n
- это размер массива.a[n]
- это сам массив, в котором будет храниться ввод пользователя.
- Затем пользователю предлагается ввести массив:
- Используется цикл
for
, чтобы просить пользователя ввестиn
чисел. - Функция
scanf
используется для считывания ввода пользователя и сохранения его в массивеa
.
- Используется цикл
- Далее происходит удаление первого отрицательного элемента:
- Используется второй цикл
for
, чтобы пройти по массиву и проверить каждое число. - Если число отрицательное, то оно будет удалено из массива, а переменная
z
увеличится на 1. - Удаление элемента осуществляется путем переноса всех последующих элементов на одну позицию вперед.
- Используется второй цикл
- После этого проверяется, были ли удалены отрицательные числа:
- Если переменная
z
равна 0, значит, в массиве не было отрицательных чисел. - Если переменная
z
не равна 0, значит, были удалены отрицательные числа, и их количество отображается на экране.
- Если переменная
- Наконец, выводятся элементы массива:
- Используется цикл
for
, чтобы пройти по массиву и вывести каждый элемент. - Функция
printf
используется для вывода чисел на экран. Этот код предназначен для удаления первого отрицательного числа из массива. Если в массиве нет отрицательных чисел, то выводится сообщениеno negative
. Если есть отрицательные числа, то они удаляются, и остальные числа выводятся на экран.
- Используется цикл
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д