Каждый элемент целочисленного массива заменяется произведением всех остальных элементов массива
функция >имеет два аргумента - (i) массив (ii) его размер (n)
>каждый элемент массива будет заменен произведением других элементов .
>Например, если следующий массив -{3, 2, 1}
функция вернет следующий вывод - {2,3,6}.
-это не проблема с домашним заданием . Я не хочу, чтобы ты это делал . Я просто хочу оптимизировать свою программу .
- спасибо вам.
Что я уже пробовал:
Я приложил код своей функции.
Как вы можете видеть , я использовал массив [temp] для хранения произведения элементов, но мне нужно инициализировать каждый элемент как 1 вручную .
-есть ли лучший способ сделать это ?
>Не могли бы вы дать какие-нибудь подсказки относительно того, как я могу улучшить временную сложность кода?
void multiply_input(int str[],int n) { int temp[25]={1,1,1,1,1,1,1,1,1,1,1,1,1}; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(i!=j) temp[i]=temp[i]*str[j]; } } for(int k=0;k<n;k++) cout<<" "<<temp[k];