Como encontrar o produto de todos os elementos em uma matriz

Uma matriz é uma coleção de elementos armazenados em locais de memória contíguos. É a estrutura de dados mais usada em programação. Você deve saber como realizar operações básicas em uma matriz, como inserção, exclusão, travessia, localização da soma de todos os elementos, localização do produto de todos os elementos, etc.

Neste artigo, você aprenderá como encontrar o produto de todos os elementos em um array usando abordagens iterativas e recursivas.

Declaração do Problema

Você recebe um arranjo de arr . Você precisa encontrar o produto de todos os elementos da matriz e, em seguida, imprimir o produto final. Você precisa implementar esta solução usando loops e recursão.

Exemplo 1 : Let arr = [1, 2, 3, 4, 5, 6, 7, 8]

O produto de cada elemento da matriz = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

Portanto, a saída é 40320.

Exemplo 2 : Let arr = [1, 1, 1, 1, 1, 1]

O produto de cada elemento da matriz = 1 * 1 * 1 * 1 * 1 * 1 = 1

Portanto, a saída é 1.

Abordagem iterativa para encontrar o produto de todos os elementos do array

Você pode encontrar o produto de todos os elementos da matriz usando iteração / loops seguindo a abordagem abaixo:

  1. Inicialize um resultado variável (com valor 1) para armazenar o produto de todos os elementos da matriz.
  2. Faça a iteração pela matriz e multiplique cada elemento da matriz pelo resultado .
  3. Finalmente, retorne o resultado .

Programa C ++ para encontrar o produto de elementos de array usando loops

Abaixo está o programa C ++ para encontrar o produto dos elementos do array:

 // C++ program to find the product of the array elements
#include <iostream>
using namespace std;
int findProduct(int arr[], int size)
{
int result = 1;
for(int i=0; i<size; i++)
{
result = result * arr[i];
}
return result;
}

void printArrayElements(int arr[], int size)
{
for(int i=0; i<size; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}

int main()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof(arr1)/sizeof(arr1[0]);
cout << "Array 1:" << endl;
printArrayElements(arr1, size1);
cout << "Product of the array elements: " << findProduct(arr1, size1) << endl;
int arr2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof(arr2)/sizeof(arr2[0]);
cout << "Array 2:" << endl;
printArrayElements(arr2, size2);
cout << "Product of the array elements: " << findProduct(arr2, size2) << endl;
return 0;
}

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Programa Python para encontrar o produto de elementos de array usando loops

Abaixo está o programa Python para encontrar o produto dos elementos da matriz:

 # Python program to find product of the list elements
def findProduct(arr, size):
result = 1
for i in range(size):
result = result * arr[i]
return result
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=" ")
print()
arr1 = [1, 2, 3, 4, 5, 6, 7, 8]
size1 = len(arr1)
print("Array 1:")
printListElements(arr1, size1)
print("Product of the array elements:", findProduct(arr1, size1))
arr2 = [1, 1, 1, 1, 1, 1]
size2 = len(arr2)
print("Array 2:")
printListElements(arr2, size2)
print("Product of the array elements:", findProduct(arr2, size2))

Relacionado: Como usar loops For em Python

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Programa JavaScript para encontrar o produto de elementos de array usando loops

Abaixo está o programa JavaScript para encontrar o produto dos elementos da matriz:

 // JavaScript program to find the product of the array elements
function findProduct(arr, size) {
let result = 1;
for(let i=0; i<size; i++) {
result = result * arr[i];
}
return result;
}
function printArrayElements(arr, size) {
for(let i=0; i<size; i++) {
document.write(arr[i] + " ");
}
document.write("<br>");
}

var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
var size1 = arr1.length;
document.write("Array 1:" + "<br>");
printArrayElements(arr1, size1);
document.write("Product of the array elements: " + findProduct(arr1, size1) + "<br>");
var arr2 = [1, 1, 1, 1, 1, 1];
var size2 = arr2.length;
document.write("Array 2:" + "<br>");
printArrayElements(arr2, size2);
document.write("Product of the array elements: " + findProduct(arr2, size2) + "<br>");

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Relacionado: Métodos de array JavaScript que você deve dominar hoje

Programa C para encontrar o produto de elementos de array usando loops

Abaixo está o programa C para encontrar o produto dos elementos do array:

 // C program to find the product of the array elements
#include <stdio.h>
int findProduct(int arr[], int size)
{
int result = 1;
for(int i=0; i<size; i++)
{
result = result * arr[i];
}
return result;
}

void printArrayElements(int arr[], int size)
{
for(int i=0; i<size; i++)
{
printf("%d ", arr[i]);
}
printf("⁠n");
}

int main()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof(arr1)/sizeof(arr1[0]);
printf("Array 1: ⁠n");
printArrayElements(arr1, size1);
printf("Product of the array elements: %d ⁠n", findProduct(arr1, size1));
int arr2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof(arr2)/sizeof(arr2[0]);
printf("Array 2: ⁠n");
printArrayElements(arr2, size2);
printf("Product of the array elements: %d ⁠n", findProduct(arr2, size2));

return 0;
}

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Abordagem recursiva para encontrar o produto de todos os elementos em uma matriz

Você pode encontrar o produto de todos os elementos da matriz usando recursão seguindo o pseudocódigo abaixo:

 function findProduct(arr,n):
if n == 0:
return(arr[n])
else:
return (arr[n] * findProduct(arr, n - 1))

Relacionado: O que é pseudocódigo e como ele o torna um desenvolvedor melhor?

Programa C ++ para encontrar o produto de elementos de array usando recursão

Abaixo está o programa C ++ para encontrar o produto dos elementos do array:

 // C++ program to find the product of the array elements using recursion
#include <iostream>
using namespace std;
int findProduct(int arr[], int n)
{
if (n == 0)
{
return(arr[n]);
}
else
{
return (arr[n] * findProduct(arr, n - 1));
}
}

void printArrayElements(int arr[], int size)
{
for(int i=0; i<size; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}

int main()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof(arr1)/sizeof(arr1[0]);
cout << "Array 1:" << endl;
printArrayElements(arr1, size1);
cout << "Product of the array elements: " << findProduct(arr1, size1-1) << endl;
int arr2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof(arr2)/sizeof(arr2[0]);
cout << "Array 2:" << endl;
printArrayElements(arr2, size2);
cout << "Product of the array elements: " << findProduct(arr2, size2-1) << endl;
return 0;
}

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Relacionado: Uma Introdução ao Algoritmo de Classificação de Bolhas

Programa Python para encontrar o produto de elementos de array usando recursão

Abaixo está o programa Python para encontrar o produto dos elementos da matriz:

 # Python program to find th eproduct of the list elements using recursion
def findProduct(arr, n):
if n == 0:
return(arr[n])
else:
return (arr[n] * findProduct(arr, n - 1))
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=" ")
print()
arr1 = [1, 2, 3, 4, 5, 6, 7, 8]
size1 = len(arr1)
print("Array 1:")
printListElements(arr1, size1)
print("Product of the array elements:", findProduct(arr1, size1-1))
arr2 = [1, 1, 1, 1, 1, 1]
size2 = len(arr2)
print("Array 2:")
printListElements(arr2, size2)
print("Product of the array elements:", findProduct(arr2, size2-1))

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Relacionado: Uma Introdução ao Algoritmo de Classificação de Mesclagem

Programa JavaScript para encontrar o produto de elementos de array usando recursão

Abaixo está o programa JavaScript para encontrar o produto dos elementos da matriz:

 // JavaScript program to find the product of the array elements using recursion
function findProduct(arr, n) {
if (n == 0) {
return(arr[n]);
} else {
return (arr[n] * findProduct(arr, n - 1));
}
}
function printArrayElements(arr, size) {
for(let i=0; i<size; i++) {
document.write(arr[i] + " ");
}
document.write("<br>");
}

var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
var size1 = arr1.length;
document.write("Array 1:" + "<br>");
printArrayElements(arr1, size1);
document.write("Product of the array elements: " + findProduct(arr1, size1) + "<br>");
var arr2 = [1, 1, 1, 1, 1, 1];
var size2 = arr2.length;
document.write("Array 2:" + "<br>");
printArrayElements(arr2, size2);
document.write("Product of the array elements: " + findProduct(arr2, size2) + "<br>");

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Programa C para encontrar o produto de elementos de array usando recursão

Abaixo está o programa C para encontrar o produto dos elementos do array:

 // C program to find the product of the array elements using recursion
#include <stdio.h>
int findProduct(int arr[], int n)
{
if (n == 0)
{
return(arr[n]);
}
else
{
return (arr[n] * findProduct(arr, n - 1));
}
}

void printArrayElements(int arr[], int size)
{
for(int i=0; i<size; i++)
{
printf("%d ", arr[i]);
}
printf("⁠n");
}

int main()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof(arr1)/sizeof(arr1[0]);
printf("Array 1: ⁠n");
printArrayElements(arr1, size1);
printf("Product of the array elements: %d ⁠n", findProduct(arr1, size1-1));
int arr2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof(arr2)/sizeof(arr2[0]);
printf("Array 2: ⁠n");
printArrayElements(arr2, size2);
printf("Product of the array elements: %d ⁠n", findProduct(arr2, size2-1));

return 0;
}

Saída:

 Array 1:
1 2 3 4 5 6 7 8
Product of the array elements: 40320
Array 2:
1 1 1 1 1 1
Product of the array elements: 1

Fortaleça seus conceitos de array

Os arrays são parte integrante da programação. Eles também são um dos tópicos mais importantes para entrevistas técnicas.

Se os programas baseados em arrays ainda o assustam, tente resolver alguns problemas básicos de array, como encontrar a soma de todos os elementos em um array, como encontrar o elemento máximo e mínimo em um array, como reverter um array, etc. o ajudará a fortalecer seus conceitos de matriz.