Найти сумму элементов массива между последним нулем и тем что находится перед ним - C (СИ)
Формулировка задачи:
Помогите найти ошибки. Дан массив размером N заполненный рандомными числами найти сумму элементов массива между последним нулем и тем что находится перед ним. Вроде все верно, но так как я начинающий прошу особо не корить
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> int main() { srand(time(NULL)); int N,i=0,s=0,k=0,l=0; printf("Vvedite razmer massiva: "); scanf ("%d",&N); int a[N]; for (i=0;i<N;i++){ a[i]=rand()%4; printf("%2d ",a[i]); } for (i=N;i>0;i--){ if (a[i]==0){ k=i; break; } } for(k=(k-1);k>0;k--){ if (a[k]==0){ l=k; break; } } for (k=k;k>=l;k--){ s=s+a[k]; } printf("\n%d %d",l+1,k+1); printf("\n\n%d",s); return 0; }
Решение задачи: «Найти сумму элементов массива между последним нулем и тем что находится перед ним»
textual
Листинг программы
int N; int *a; printf("Vvedite razmer massiva: "); scanf ("%d",&N); a=(int *)malloc(N*sizeof(int));
Объяснение кода листинга программы
- Вводится размер массива с помощью функции scanf.
- С помощью функции malloc выделяется память под массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д