Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2020, 12:10   #1
slyraccoone
Новичок
Джуниор
 
Регистрация: 03.02.2020
Сообщений: 1
По умолчанию Программа на языке Си

Добрый день, делали похожую программу на нахождение произведения четных элементов массива, всё было проще, а вот тут что-то совсем нет идей. Буду рада помощи.

В одномерном массиве, состоящем из n целых элементов, вычислить произведение элементов массива, расположенных после последнего нулевого элемента; Прописать условие - если в массиве нет нулевого элемента или ноль последний элемент.
slyraccoone вне форума Ответить с цитированием
Старый 03.02.2020, 12:53   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:

#include <stdio.h>
#include <stdlib.h>

int main()
{


    printf("Input count elements...");
    int count;
    scanf("%d",&count);

    srand(time(NULL));

    if (count<=0) count=1;

    int arr[count];
    int zero=-1;


    for (int i=0;i<count;i++){
        arr[i]=rand()%100-50;
        printf("%d\t",arr[i]);// \t - табуляция для выравнивания при выводе
        if ((i+1)%5==0) printf("\n"); //как только вывелось 5 элементов переходим на новую строку
        if (arr[i]==0) zero=i; //если элемент нулевой то запоминаем позицию этого элемента (запомнится последняя позиция)
    }


//если 0 - последный элемент в массиве - выводим сообщение и прерываем программу
    if (zero==count-1) {printf("\nzero - poslednii element"); return 0;};


    //если нет нулевых элементов, то выводим сообщение и дальше условия программа выполнятся не будет
    if (zero==-1)
    {
        printf("\nZero elements not search");
        return 0;
    }



    // если был нулевой элемент, то выводим позицию последнего встречающегося элемента во всем массиве


    double proizved=1;
    printf("\nZero position: %d ",zero);

//выводим все элементы начинающиеся после последнего нулевого элемента массива и вычисляем произведение
// этих элементов в переменной proizved типа double, наче может быть переполнение

    for (int i=zero+1;i<count;i++)
    {
        printf("\nPosit %d) Element proizv: %d;",i,arr[i]);
        proizved*=arr[i];
    }


    printf("\nProizvedenie: %f ",proizved);

    return 0;
}
from dark to light)

Последний раз редактировалось Алексей_2012; 03.02.2020 в 13:00.
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа на языке си РОзочка_)) Помощь студентам 0 07.06.2012 21:28
SOS!!!!(на каком языке программа?)Нужно переделать программу,а я даже не знаю на каком она языке:eek::eek:,РЕБЯТА ПОМОГИ Нака Помощь студентам 10 19.11.2011 15:16
программа на языке с++ Милорд Помощь студентам 1 28.12.2010 19:18
Программа на русском языке в Windows XP на другом языке... Как? 29bit Свободное общение 4 01.02.2008 17:24