Низ је колекција елемената похрањених на суседним меморијским локацијама. То је најчешће коришћена структура података у програмирању. Морате знати како изводити основне операције над низом, попут уметања, брисања, преласка, проналажења збира свих елемената, проналажења производа свих елемената итд.
У овом чланку ћете научити како пронаћи производ свих елемената у низу користећи итеративни и рекурзивни приступ.
Изјава о проблему
Добили сте низ арр. Треба да пронађете производ свих елемената низа, а затим одштампате коначни производ. Ово решење морате да примените помоћу петљи и рекурзије.
Пример 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;
за (инт и = 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
Ојачајте концепте низа
Низови су саставни део програмирања. Они су једна од најважнијих тема и за техничке интервјуе.
Ако вас програми засновани на низовима и даље плаше, покушајте да решите неке основне проблеме низа, као што је како пронаћи суму сви елементи у низу, како пронаћи максимум и минимум елемента у низу, како обрнути низ итд. Помоћи ће вам да ојачате концепте низа.
Без обзира да ли користите ЈаваСцрипт, Питхон или Ц ++, ови програми се дефинитивно сабирају.
Прочитајте следеће
- Програмирање
- ЈаваСцрипт
- Питхон
- Водичи за кодирање
- Ц Програмирање
Иуврај је студент основних студија рачунарства на Универзитету у Делхију у Индији. Одушевљен је Фулл Стацк веб развојем. Када не пише, истражује дубину различитих технологија.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили