@katmandu04091720
Фанат новотроицкой Носты

Произведение элементов массива, расположенных после последнего нулевого элемента?

Всем привет! Нужно найти произведение элементов массива, расположенных после последнего нулевого элемента. Начинаю перебор с конца массива, ответ получается 0. подскажите пожалуйста, куда копать?
#include <stdio.h>
#include <stdlib.h>
#define N   10
 
int main(int argc, char* argv[])
{
    short str[N] = {0};
    
    
    srand(time(NULL));
  	for(int i=0;i<N;i++)   
	  str[i] = rand()%5;
    for(int i = 0; i < N; i++) {
    	
        printf("%2d ",str[i]);
        
	}
	printf("\n");  
	system("PAUSE");
    
	int a = 0;
	for(int i = N - 1; i >= 0; i--)
	{	
		a *= str[i];
	
	}
	
	printf("%2d", a);
}
  • Вопрос задан
  • 505 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Цикл у вас не до элемента с нулевым значением, а до элемента с нулевым индексом.
Ну и инициализировать надо единицей, а не нулём, как уже написал dollar.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Это же не сумма, а произведение, поэтому:
int a = 1; // вместо 0

P.S. Весь код не читал, т.к. неправильные отступы делают код трудночитаемым. Смесь пробелов и табов говорит о том, что код был частично скопирован откуда-то и дополнен/переделан под текущую задачу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час