Найти результат умножения элементов массива (используя тип double и функцию)

Zohan1234567

    У  меня не получается
    // Task 3/  Find the result multiplication of the elements array. Use ****** type.
    
            ****** multiplication (int *x, int n)
        {
            ******  multi=1;
            int i;
            for (i=0; i<n; i++)
                {
                multi=multi*x[i];
                }
             return (multi);
        }
            
             void input (int *x, int n)                 // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
            {                                           // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
            int i;                                      // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
            for (i=0; i<n; i++)                         // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
            *(x+i)=rand ()%10; // *(x+i)=               // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
            }                                           // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                void output (int*x, int n)              // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                {                                       // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                int i;                                  // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                for (i=0; i<n; i++)                     // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                    {                                       // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                    printf ("%3d", *(x+i)); // *(x+i)=      // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                    }                                       // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
                }                                       // ÔóГ*êöèÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ*
 
        int main ()
        {
        int *a=NULL;
        int n, i;
        ****** multi;
        printf ("Enter amount the elements of array\n");
        scanf ("%d", &n);
        a=(int*) malloc(n*sizeof(int));                    
        input (a, n);
        output (a,n);
        multi= multiplication (a, n);
        printf (" \n The multiplication result of the Array's elements is \n%f", multi);
        free (a);       
        }
2 ответа

Zohan1234567

Zohan1234567, а что именно не работает?) по коду, вроде, должно все работать(единственное, что у вас 0, скорее всего, всегда в массиве присутсвует, отсюда и результат 0)


Zohan1234567

Верняк!!! Всё так и есть умножение на 0 даёт в во всех случаях 0. Thank you!