Найти сумму элементов массива между последним нулем и тем что находится перед ним - 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 выделяется память под массив.