Showing posts with label array product except itself. Show all posts
Showing posts with label array product except itself. Show all posts

Tuesday, October 25, 2016

Array Product

Problem source gfg

http://stackoverflow.com/questions/2680548/given-an-array-of-numbers-return-array-of-products-of-all-other-numbers-no-div

Given an array of numbers, return array of products of all other numbers (no division)


solution:

#include <iostream>
using namespace std;

void fill(int *a,int size)
{
    for(int i=0;i<size;i++)
    {
        a[i] = 1;
    }
}
int* createProduct(int* a,int size)
{
  
  
    int temp = 1;
    int* products = new int[size];
    fill(products,size);
    for(int i=0;i<size;i++)
    {
        products[i] = temp;
        temp *= a[i];
    }
    temp = 1;
    for(int i=size-2;i>=0;i--)
    {
        
        temp *= a[i+1];
        products[i] *= temp;
    }
    return products;
    
}
void disp(int* a,int size)
{
       for(int i=0;i<size;i++)
    {
        cout<<a[i]<<"\t";
    }
}
int main(int argc, const char * argv[]) {
    // insert code here...
    int a[] = {6,7,8,4,5};
    
    int size = sizeof(a)/sizeof(*a);
    //cout<<sizeof(*a);
    int* res = createProduct(a,size);
    disp(res,size);
    return 0;
}