Bir dizi, bitişik bellek konumlarında depolanan bir öğeler topluluğudur. Programlamada en çok kullanılan veri yapısıdır. Bir dizi üzerinde ekleme, silme, geçiş, tüm öğelerin toplamını bulma, tüm öğelerin çarpımını bulma gibi temel işlemleri nasıl gerçekleştireceğinizi bilmelisiniz.
Bu makalede, yinelemeli ve özyinelemeli yaklaşımları kullanarak bir dizideki tüm öğelerin çarpımını nasıl bulacağınızı öğreneceksiniz.
Sorun bildirimi
Sana bir dizi verildi varış. Dizinin tüm öğelerinin ürününü bulmanız ve ardından nihai ürünü yazdırmanız gerekir. Bu çözümü döngüler ve özyineleme kullanarak uygulamanız gerekir.
örnek 1: arr = [1, 2, 3, 4, 5, 6, 7, 8] olsun
Dizinin her bir elemanının çarpımı = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
Böylece, çıktı 40320'dir.
Örnek 2: dizi = [1, 1, 1, 1, 1, 1] olsun
Dizinin her elemanının çarpımı = 1 * 1 * 1 * 1 * 1 * 1 = 1
Böylece çıktı 1 olur.
Dizinin Tüm Elemanlarının Ürününü Bulmak İçin Yinelemeli Yaklaşım
Aşağıdaki yaklaşımı izleyerek yineleme/döngüler kullanarak dizinin tüm öğelerinin ürününü bulabilirsiniz:
- Bir değişkeni başlat sonuç (1 değeriyle) dizideki tüm öğelerin ürününü depolamak için.
- Dizi boyunca yineleyin ve dizinin her öğesini sonuç.
- Son olarak, iade edin sonuç.
Döngüler Kullanarak Dizi Elemanlarının Ürününü Bulan C++ Programı
Dizi elemanlarının çarpımını bulmak için C++ programı aşağıdadır:
// Dizi elemanlarının çarpımını bulan C++ programı
#Dahil etmek
ad alanı std kullanarak;
int findProduct (int dizi[], int boyut)
{
int sonuç = 1;
için (int i=0; ben{
sonuç = sonuç * dizi[i];
}
dönüş sonucu;
}
void printArrayElements (int dizi[], int boyut)
{
için (int i=0; ben{
cout << dizi[i] << " ";
}
cout << endl;
}
int ana()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (dizi1)/sizeof (dizi1[0]);
cout << "Dizi 1:" << endl;
printArrayElements (dizi1, size1);
cout << "Dizi öğelerinin çarpımı: " << findProduct (dizi1, size1) << endl;
int dizi2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (dizi2)/sizeof (dizi2[0]);
cout << "Dizi 2:" << endl;
printArrayElements (dizi2, boyut2);
cout << "Dizi öğelerinin çarpımı: " << findProduct (dizi2, boyut2) << endl;
0 döndür;
}
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
Döngüler Kullanarak Dizi Elemanlarının Ürününü Bulan Python Programı
Dizi elemanlarının çarpımını bulmak için Python programı aşağıdadır:
# Liste elemanlarının çarpımını bulan Python programı
def findProduct (dizi, boyut):
sonuç = 1
aralıktaki i için (boyut):
sonuç = sonuç * dizi[i]
dönüş sonucu
def printListElements (dizi, boyut):
aralıktaki i için (boyut):
yazdır (dizi[i], bitiş=" ")
Yazdır()
dizi1 = [1, 2, 3, 4, 5, 6, 7, 8]
size1 = uzunluk (dizi1)
print("Dizi 1:")
printListElements (dizi1, boyut1)
print("Dizi elemanlarının çarpımı:", findProduct (dizi1, boyut1))
dizi2 = [1, 1, 1, 1, 1, 1]
size2 = uzunluk (arr2)
print("Dizi 2:")
printListElements (dizi2, boyut2)
print("Dizi elemanlarının çarpımı:", findProduct (dizi2, boyut2))
İlişkili: Python'da Döngüler İçin Nasıl Kullanılır
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
Döngüler Kullanarak Dizi Elemanlarının Ürününü Bulan JavaScript Programı
Dizi elemanlarının çarpımını bulmak için JavaScript programı aşağıdadır:
// Dizi elemanlarının çarpımını bulan JavaScript programı
function findProduct (dizi, boyut) {
sonuç = 1 olsun;
için (i=0; bensonuç = sonuç * dizi[i];
}
dönüş sonucu;
}
function printArrayElements (dizi, boyut) {
için (i=0; benbelge.write (dizi[i] + " ");
}
belge.yaz("
");
}
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
var size1 = dizi1.uzunluk;
document.write("Dizi 1:" + "
");
printArrayElements (dizi1, size1);
document.write("Dizi elemanlarının çarpımı: " + findProduct (dizi1, size1) + "
");
var arr2 = [1, 1, 1, 1, 1, 1];
var size2 = dizi2.uzunluk;
document.write("Dizi 2:" + "
");
printArrayElements (dizi2, boyut2);
document.write("Dizi elemanlarının çarpımı: " + findProduct (dizi2, size2) + "
");
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
İlişkili: Bugün Ustalaşmanız Gereken JavaScript Dizi Yöntemleri
Döngüler Kullanarak Dizi Elemanlarının Çarpımını Bulan C Programı
Dizi elemanlarının çarpımını bulan C programı aşağıdadır:
// Dizi elemanlarının çarpımını bulan C programı
#Dahil etmek
int findProduct (int dizi[], int boyut)
{
int sonuç = 1;
için (int i=0; ben{
sonuç = sonuç * dizi[i];
}
dönüş sonucu;
}
void printArrayElements (int dizi[], int boyut)
{
için (int i=0; ben{
printf("%d ", dizi[i]);
}
printf("\n");
}
int ana()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (dizi1)/sizeof (dizi1[0]);
printf("Dizi 1:\n");
printArrayElements (dizi1, size1);
printf("Dizi elemanlarının çarpımı: %d \n", findProduct (dizi1, size1));
int dizi2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (dizi2)/sizeof (dizi2[0]);
printf("Dizi 2:\n");
printArrayElements (dizi2, boyut2);
printf("Dizi elemanlarının çarpımı: %d \n", findProduct (dizi2, size2));
0 döndür;
}
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
Bir Dizideki Tüm Elemanların Çarpımını Bulma Özyinelemeli Yaklaşım
Aşağıdaki sözde kodu takip ederek özyineleme kullanarak dizinin tüm öğelerinin çarpımını bulabilirsiniz:
function findProduct (dizi, n):
n == 0 ise:
dönüş (dizi[n])
Başka:
dönüş (dizi[n] * findProduct (dizi, n - 1))
İlişkili: Pseudocode Nedir ve Sizi Nasıl Daha İyi Bir Geliştirici Yapar?
Dizi Elemanlarının Özyinelemeyi Kullanarak Ürününü Bulan C++ Programı
Dizi elemanlarının çarpımını bulmak için C++ programı aşağıdadır:
// Özyineleme kullanarak dizi elemanlarının çarpımını bulan C++ programı
#Dahil etmek
ad alanı std kullanarak;
int findProduct (int dizi[], int n)
{
eğer (n == 0)
{
dönüş (dizi[n]);
}
Başka
{
dönüş (dizi[n] * findProduct (dizi, n - 1));
}
}
void printArrayElements (int dizi[], int boyut)
{
için (int i=0; ben{
cout << dizi[i] << " ";
}
cout << endl;
}
int ana()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (dizi1)/sizeof (dizi1[0]);
cout << "Dizi 1:" << endl;
printArrayElements (dizi1, size1);
cout << "Dizi öğelerinin çarpımı: " << findProduct (dizi1, size1-1) << endl;
int dizi2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (dizi2)/sizeof (dizi2[0]);
cout << "Dizi 2:" << endl;
printArrayElements (dizi2, boyut2);
cout << "Dizi öğelerinin çarpımı: " << findProduct (dizi2, size2-1) << endl;
0 döndür;
}
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
İlişkili: Kabarcık Sıralama Algoritmasına Giriş
Özyinelemeyi Kullanarak Dizi Elemanlarının Ürününü Bulan Python Programı
Dizi elemanlarının çarpımını bulmak için Python programı aşağıdadır:
# Özyinelemeyi kullanarak liste öğelerinin ürününü bulan Python programı
def findProduct (dizi, n):
n == 0 ise:
dönüş (dizi[n])
Başka:
dönüş (dizi[n] * findProduct (dizi, n - 1))
def printListElements (dizi, boyut):
aralıktaki i için (boyut):
yazdır (dizi[i], bitiş=" ")
Yazdır()
dizi1 = [1, 2, 3, 4, 5, 6, 7, 8]
size1 = uzunluk (dizi1)
print("Dizi 1:")
printListElements (dizi1, boyut1)
print("Dizi elemanlarının çarpımı:", findProduct (dizi1, size1-1))
dizi2 = [1, 1, 1, 1, 1, 1]
size2 = uzunluk (arr2)
print("Dizi 2:")
printListElements (dizi2, boyut2)
print("Dizi elemanlarının çarpımı:", findProduct (dizi2, size2-1))
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
İlişkili: Birleştirme Sıralama Algoritmasına Giriş
Dizi Elemanlarının Özyinelemeyi Kullanarak Ürününü Bulan JavaScript Programı
Dizi elemanlarının çarpımını bulmak için JavaScript programı aşağıdadır:
// Dizi elemanlarının çarpımını özyineleme kullanarak bulan JavaScript programı
function findProduct (dizi, n) {
if (n == 0) {
dönüş (dizi[n]);
} Başka {
dönüş (dizi[n] * findProduct (dizi, n - 1));
}
}
function printArrayElements (dizi, boyut) {
için (i=0; benbelge.write (dizi[i] + " ");
}
belge.yaz("
");
}
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
var size1 = dizi1.uzunluk;
document.write("Dizi 1:" + "
");
printArrayElements (dizi1, size1);
document.write("Dizi elemanlarının çarpımı: " + findProduct (dizi1, size1) + "
");
var arr2 = [1, 1, 1, 1, 1, 1];
var size2 = dizi2.uzunluk;
document.write("Dizi 2:" + "
");
printArrayElements (dizi2, boyut2);
document.write("Dizi elemanlarının çarpımı: " + findProduct (dizi2, size2) + "
");
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
Dizi Elemanlarının Çarpımını Özyineleme Kullanarak Bulan C Programı
Dizi elemanlarının çarpımını bulan C programı aşağıdadır:
// Dizi elemanlarının çarpımını özyineleme kullanarak bulan C programı
#Dahil etmek
int findProduct (int dizi[], int n)
{
eğer (n == 0)
{
dönüş (dizi[n]);
}
Başka
{
dönüş (dizi[n] * findProduct (dizi, n - 1));
}
}
void printArrayElements (int dizi[], int boyut)
{
için (int i=0; ben{
printf("%d ", dizi[i]);
}
printf("\n");
}
int ana()
{
int arr1[] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (dizi1)/sizeof (dizi1[0]);
printf("Dizi 1:\n");
printArrayElements (dizi1, size1);
printf("Dizi elemanlarının çarpımı: %d \n", findProduct (dizi1, size1-1));
int dizi2[] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (dizi2)/sizeof (dizi2[0]);
printf("Dizi 2:\n");
printArrayElements (dizi2, boyut2);
printf("Dizi elemanlarının çarpımı: %d \n", findProduct (dizi2, size2-1));
0 döndür;
}
Çıktı:
Dizi 1:
1 2 3 4 5 6 7 8
Dizi elemanlarının çarpımı: 40320
Dizi 2:
1 1 1 1 1 1
Dizi elemanlarının çarpımı: 1
Dizi Kavramlarınızı Güçlendirin
Diziler, programlamanın ayrılmaz bir parçasıdır. Teknik mülakatlar için de en önemli konulardan biridir.
Dizilere dayalı programlar sizi hala korkutuyorsa, toplamını nasıl bulacağınız gibi bazı temel dizi problemlerini çözmeyi deneyin. bir dizideki tüm öğeler, bir dizideki maksimum ve minimum öğe nasıl bulunur, bir dizi nasıl tersine çevrilir, vb. Dizi kavramlarınızı güçlendirmenize yardımcı olacaktır.
JavaScript, Python veya C++ kullanıyor olsanız da, bu programlar kesinlikle eklenir.
Sonrakini Oku
- Programlama
- JavaScript
- piton
- Kodlama Eğitimleri
- C Programlama
Yuvraj, Hindistan Delhi Üniversitesi'nde Bilgisayar Bilimleri lisans öğrencisidir. Full Stack Web Geliştirme konusunda tutkulu. Yazmadığı zamanlarda farklı teknolojilerin derinliğini keşfediyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın