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

Объяснение кода листинга программы

  1. Вводится размер массива с помощью функции scanf.
  2. С помощью функции malloc выделяется память под массив.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы