Member 12859488 Ответов: 1

Найдите первый и второй элементы ==0 и сумму между ними


- Привет!
Мне нужно написать функцию, которая находит первый и второй элементы равными 0, а затем суммирует элементы между этими двумя нулями.
Например:
Если у меня есть такой массив
{1,0,5,7,9,0,7,0,8,9}
затем функция должна вывести 21,
потому что первый 0 находится на втором месте, второй 0 находится на шестом месте, а сумма между ними равна 5+7+9=21.
Если нет элементов, равных 0, или нет элементов между двумя нулями, функция должна вывести 0.
У меня есть такой код прямо сейчас, но он вообще не работает.

Что я уже пробовал:

Мой код:
double minim (double m[], int A)
{	
    double min=m[0];
    int indeks;
    int i;
    for ( i=0; i<a; i++)
    { 
        if (m[i]=0)
        {
            min=m[i]; 
            indeks=i; 
            printf("first 0=%d ",indeks) 
            return indeks; 
        } 
        
        double max=min; 
        int indeks1; 
        for (i=min+1; i<a; i++) 
        { 
             indeks1=i; (second=" ", ); 
             sum=0; 
             i<indeks1-1; 
             printf("\nelement %d", sum);
        }
    }
}

Patrice T

Попробуйте вставить, снова ваш код, ошибка CP уничтожила ваш код.
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.

Chris Maunder

Какой Жук?

Patrice T

Все = "" иногда исходят от дезинфицирующего средства при проверке вопроса.

Chris Maunder

Попался. Странно - это произойдет только внутри разметки, а не внутри предварительных блоков. Пришло время полностью переключиться на markdown?

Patrice T

Хорошая поправка !
Проблема в том, что новички, как правило, не используют предварительный блок.
Лично я не люблю markdown, предпочитаю иметь возможность отключить его с помощью переключателя.

1 Ответов

Рейтинг:
0

OriginalGriff

Цитата:
У меня есть такой код прямо сейчас, но он вообще не работает.

Ну, нет. Не будет.
Он даже не будет компилироваться, а тем более запускаться или делать что-то полезное.

Выбросьте все это и начните заново с нуля.
Делайте это "легкими этапами".
Напишите функцию, чтобы найти первое значение 0 и вернуть его индекс.
Когда это сработает, измените его, чтобы найти первое и второе нулевое значение.
Когда это сработает, добавьте код для суммирования значений между ними.

Но... это ваша домашняя работа, поэтому я не дам вам никакого кода: он достаточно прост, что если вы будете делать его в легкие этапы и думать, прежде чем начать код каждый раз, вы сделаете это за очень короткое время вообще.


George Swan

Почему бы не попытаться решить эту проблему с помощью латерального мышления? Вместо того чтобы непосредственно находить ноль, обнаружьте его присутствие, используя уникальное свойство добавления нуля к сумме. Является ли этот метод более эффективным, чем использование значений индекса? Всегда полезно искать альтернативные решения, очевидные из них не всегда являются лучшими.