Низ је колекција елемената похрањених на суседним меморијским локацијама. То је најчешће коришћена структура података у програмирању. Морате знати како изводити основне операције над низом, попут уметања, брисања, преласка, проналажења збира свих елемената, проналажења производа свих елемената итд.

У овом чланку ћете научити како пронаћи производ свих елемената у низу користећи итеративни и рекурзивни приступ.

Изјава о проблему

Добили сте низ арр. Треба да пронађете производ свих елемената низа, а затим одштампате коначни производ. Ово решење морате да примените помоћу петљи и рекурзије.

Пример 1: Нека арр = [1, 2, 3, 4, 5, 6, 7, 8]

Производ сваког елемента низа = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

Дакле, излаз је 40320.

Пример 2: Нека је арр = [1, 1, 1, 1, 1, 1]

Производ сваког елемента низа = 1 * 1 * 1 * 1 * 1 * 1 = 1

Дакле, излаз је 1.

Итеративни приступ проналажењу производа свих елемената низа

Производ свих елемената низа можете пронаћи помоћу итерације / петље пратећи доњи приступ:

  1. Иницијализујте променљиву резултат (са вредношћу 1) за складиштење производа свих елемената у низу.
  2. Прелистајте низ и помножите сваки елемент низа са резултат.
  3. Коначно, вратите резултат.

Програм Ц ++ за проналажење производа елемената низа помоћу петљи

Испод је програм Ц ++ за проналажење производа елемената низа:

// Ц ++ програм за проналажење производа елемената низа
#инцлуде
коришћење простора имена стд;
инт финдПродуцт (инт арр [], инт величина)
{
инт резултат = 1;
за (инт и = 0; и{
резултат = резултат * арр [и];
}
повратни резултат;
}
воид принтАрраиЕлементс (инт арр [], инт величина)
{
за (инт и = 0; и{
цоут << арр [и] << "";
}
цоут << ендл;
}
инт маин ()
{
инт арр1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
инт сизе1 = сизеоф (арр1) / сизеоф (арр1 [0]);
цоут << "Низ 1:" << ендл;
принтАрраиЕлементс (арр1, сизе1);
цоут << "Производ елемената низа:" << финдПродуцт (арр1, сизе1) << ендл;
инт арр2 [] = {1, 1, 1, 1, 1, 1};
инт сизе2 = сизеоф (арр2) / сизеоф (арр2 [0]);
цоут << "Низ 2:" << ендл;
принтАрраиЕлементс (арр2, сизе2);
цоут << "Производ елемената низа:" << финдПродуцт (арр2, сизе2) << ендл;
ретурн 0;
}

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Питхон програм за проналажење производа елемената низа помоћу петљи

Испод је програм Питхон за проналажење производа елемената низа:

# Питхон програм за проналажење производа елемената листе
деф финдПродуцт (арр, величина):
резултат = 1
за и у опсегу (величина):
резултат = резултат * арр [и]
повратни резултат
деф принтЛистЕлементс (арр, величина):
за и у опсегу (величина):
испис (арр [и], енд = "")
испис ()
арр1 = [1, 2, 3, 4, 5, 6, 7, 8]
сизе1 = лен (арр1)
принт ("Низ 1:")
принтЛистЕлементс (арр1, сизе1)
принт ("Производ елемената низа:", финдПродуцт (арр1, сизе1))
арр2 = [1, 1, 1, 1, 1, 1]
сизе2 = лен (арр2)
принт ("Низ 2:")
принтЛистЕлементс (арр2, сизе2)
принт ("Производ елемената низа:", финдПродуцт (арр2, сизе2))

Повезан: Како се користи за петље у Питхону

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

ЈаваСцрипт програм за проналажење производа елемената низа помоћу петљи

Испод је ЈаваСцрипт програм за проналажење производа елемената низа:

// ЈаваСцрипт програм за проналажење производа елемената низа
функција финдПродуцт (арр, величина) {
нека је резултат = 1;
за (нека је и = 0; ирезултат = резултат * арр [и];
}
повратни резултат;
}
функција принтАрраиЕлементс (арр, сизе) {
за (нека је и = 0; идоцумент.врите (арр [и] + "");
}
доцумент.врите ("
");
}
вар арр1 = [1, 2, 3, 4, 5, 6, 7, 8];
вар сизе1 = арр1.ленгтх;
доцумент.врите ("Низ 1:" + "
");
принтАрраиЕлементс (арр1, сизе1);
доцумент.врите ("Производ елемената низа:" + финдПродуцт (арр1, сизе1) + "
");
вар арр2 = [1, 1, 1, 1, 1, 1];
вар сизе2 = арр2.ленгтх;
доцумент.врите ("Низ 2:" + "
");
принтАрраиЕлементс (арр2, сизе2);
доцумент.врите ("Производ елемената низа:" + финдПродуцт (арр2, сизе2) + "
");

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Повезан: Методе ЈаваСцрипт низа које бисте данас требали савладати

Ц Програм за проналажење производа елемената низа помоћу петљи

Испод је програм Ц за проналажење производа елемената низа:

// Ц програм за проналажење производа елемената низа
#инцлуде
инт финдПродуцт (инт арр [], инт величина)
{
инт резултат = 1;
за (инт и = 0; и{
резултат = резултат * арр [и];
}
повратни резултат;
}
воид принтАрраиЕлементс (инт арр [], инт величина)
{
за (инт и = 0; и{
принтф ("% д", арр [и]);
}
принтф ("\ ⁠н");
}
инт маин ()
{
инт арр1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
инт сизе1 = сизеоф (арр1) / сизеоф (арр1 [0]);
принтф ("Низ 1: \ нн");
принтАрраиЕлементс (арр1, сизе1);
принтф ("Производ елемената низа:% д \ ⁠н", финдПродуцт (арр1, сизе1));
инт арр2 [] = {1, 1, 1, 1, 1, 1};
инт сизе2 = сизеоф (арр2) / сизеоф (арр2 [0]);
принтф ("Низ 2: \ нн");
принтАрраиЕлементс (арр2, сизе2);
принтф ("Производ елемената низа:% д \ ⁠н", финдПродуцт (арр2, сизе2));
ретурн 0;
}

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Рекурзивни приступ проналажењу производа свих елемената у низу

Производ свих елемената низа можете пронаћи помоћу рекурзије пратећи псеудокод испод:

функција финдПродуцт (арр, н):
ако је н == 0:
повратак (арр [н])
иначе:
ретурн (арр [н] * финдПродуцт (арр, н - 1))

Повезан: Шта је псеудокод и како вас то чини бољим програмером?

Програм Ц ++ за проналажење производа елемената низа помоћу рекурзије

Испод је програм Ц ++ за проналажење производа елемената низа:

// Ц ++ програм за проналажење производа елемената низа помоћу рекурзије
#инцлуде
коришћење простора имена стд;
инт финдПродуцт (инт арр [], инт н)
{
ако (н == 0)
{
ретурн (арр [н]);
}
иначе
{
ретурн (арр [н] * финдПродуцт (арр, н - 1));
}
}
воид принтАрраиЕлементс (инт арр [], инт величина)
{
за (инт и = 0; и{
цоут << арр [и] << "";
}
цоут << ендл;
}
инт маин ()
{
инт арр1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
инт сизе1 = сизеоф (арр1) / сизеоф (арр1 [0]);
цоут << "Низ 1:" << ендл;
принтАрраиЕлементс (арр1, сизе1);
цоут << "Производ елемената низа:" << финдПродуцт (арр1, сизе1-1) << ендл;
инт арр2 [] = {1, 1, 1, 1, 1, 1};
инт сизе2 = сизеоф (арр2) / сизеоф (арр2 [0]);
цоут << "Низ 2:" << ендл;
принтАрраиЕлементс (арр2, сизе2);
цоут << "Производ елемената низа:" << финдПродуцт (арр2, сизе2-1) << ендл;
ретурн 0;
}

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Повезан: Увод у алгоритам сортирања мехурића

Питхон програм за проналажење производа елемената низа помоћу рекурзије

Испод је програм Питхон за проналажење производа елемената низа:

# Питхон програм за проналажење продукта елемената листе помоћу рекурзије
деф финдПродуцт (арр, н):
ако је н == 0:
повратак (арр [н])
иначе:
ретурн (арр [н] * финдПродуцт (арр, н - 1))
деф принтЛистЕлементс (арр, величина):
за и у опсегу (величина):
испис (арр [и], енд = "")
испис ()
арр1 = [1, 2, 3, 4, 5, 6, 7, 8]
сизе1 = лен (арр1)
принт ("Низ 1:")
принтЛистЕлементс (арр1, сизе1)
принт ("Производ елемената низа:", финдПродуцт (арр1, сизе1-1))
арр2 = [1, 1, 1, 1, 1, 1]
сизе2 = лен (арр2)
принт ("Низ 2:")
принтЛистЕлементс (арр2, сизе2)
принт ("Производ елемената низа:", финдПродуцт (арр2, сизе2-1))

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Повезан: Увод у алгоритам сортирања стапања

ЈаваСцрипт програм за проналажење производа елемената низа помоћу рекурзије

Испод је ЈаваСцрипт програм за проналажење производа елемената низа:

// ЈаваСцрипт програм за проналажење производа елемената низа помоћу рекурзије
функција финдПродуцт (арр, н) {
ако (н == 0) {
ретурн (арр [н]);
} елсе {
ретурн (арр [н] * финдПродуцт (арр, н - 1));
}
}
функција принтАрраиЕлементс (арр, сизе) {
за (нека је и = 0; идоцумент.врите (арр [и] + "");
}
доцумент.врите ("
");
}
вар арр1 = [1, 2, 3, 4, 5, 6, 7, 8];
вар сизе1 = арр1.ленгтх;
доцумент.врите ("Низ 1:" + "
");
принтАрраиЕлементс (арр1, сизе1);
доцумент.врите ("Производ елемената низа:" + финдПродуцт (арр1, сизе1) + "
");
вар арр2 = [1, 1, 1, 1, 1, 1];
вар сизе2 = арр2.ленгтх;
доцумент.врите ("Низ 2:" + "
");
принтАрраиЕлементс (арр2, сизе2);
доцумент.врите ("Производ елемената низа:" + финдПродуцт (арр2, сизе2) + "
");

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Програм за проналажење производа елемената низа помоћу рекурзије

Испод је програм Ц за проналажење производа елемената низа:

// Ц програм за проналажење производа елемената низа помоћу рекурзије
#инцлуде
инт финдПродуцт (инт арр [], инт н)
{
ако (н == 0)
{
ретурн (арр [н]);
}
иначе
{
ретурн (арр [н] * финдПродуцт (арр, н - 1));
}
}
воид принтАрраиЕлементс (инт арр [], инт величина)
{
за (инт и = 0; и{
принтф ("% д", арр [и]);
}
принтф ("\ ⁠н");
}
инт маин ()
{
инт арр1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
инт сизе1 = сизеоф (арр1) / сизеоф (арр1 [0]);
принтф ("Низ 1: \ нн");
принтАрраиЕлементс (арр1, сизе1);
принтф ("Производ елемената низа:% д \ ⁠н", финдПродуцт (арр1, сизе1-1));
инт арр2 [] = {1, 1, 1, 1, 1, 1};
инт сизе2 = сизеоф (арр2) / сизеоф (арр2 [0]);
принтф ("Низ 2: \ нн");
принтАрраиЕлементс (арр2, сизе2);
принтф ("Производ елемената низа:% д \ ⁠н", финдПродуцт (арр2, сизе2-1));
ретурн 0;
}

Излаз:

Низ 1:
1 2 3 4 5 6 7 8
Производ производа низа: 40320
Низ 2:
1 1 1 1 1 1
Производ елемената низа: 1

Ојачајте концепте низа

Низови су саставни део програмирања. Они су једна од најважнијих тема и за техничке интервјуе.

Ако вас програми засновани на низовима и даље плаше, покушајте да решите неке основне проблеме низа, као што је како пронаћи суму сви елементи у низу, како пронаћи максимум и минимум елемента у низу, како обрнути низ итд. Помоћи ће вам да ојачате концепте низа.

Објави
Емаил
Како пронаћи збир свих елемената у низу

Без обзира да ли користите ЈаваСцрипт, Питхон или Ц ++, ови програми се дефинитивно сабирају.

Прочитајте следеће

Повезане теме
  • Програмирање
  • ЈаваСцрипт
  • Питхон
  • Водичи за кодирање
  • Ц Програмирање
О аутору
Иуврај Цхандра (Објављено 47 чланака)

Иуврај је студент основних студија рачунарства на Универзитету у Делхију у Индији. Одушевљен је Фулл Стацк веб развојем. Када не пише, истражује дубину различитих технологија.

Још од Иуврај Цхандра

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили