1 Востаннє редагувалося Валентин777 (04.09.2016 20:27:31)

Тема: Допоможіть будь-ласка студенту

10 варіан якщо можно вирішіть то зовсім не розумі
Для сукупності чисел (масиву X): 0.01; -27.3; 0; 1.25; -371; 0.5; -0.1; 1.2; -5; -172.3;
197.83; -2.7; 43.51; 0; -0.02 обчислити добуток відмінних від нуля елементів‚ більших
за A‚ і вивести їх номери (для обчислень взяти A = 2)

2

Re: Допоможіть будь-ласка студенту

ну дивіться, ось є у нас набір чисел, так?

Серед них може бути 0, а можуть бути і інші числа, котрі не є нулем.
І от вам потрібно перемножити всі числа, котрі не є нулем, і котрі більші за 2.
А ще вам треба вивести індекси цих чисел. Тобто номери, під котрими вони знаходяться в масиві. (нумерація масиву починається з нуля)

Прихований текст
а я вже й забув, що це учбовий рік почався
тут спілкуються українці (серед них є програмісти)
https://discord.gg/Zk29v4P

3

Re: Допоможіть будь-ласка студенту

11142058.873608027 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14]
Своє бажання ви використали. Тепер прочитайте правила, особливо п.3.5

4

Re: Допоможіть будь-ласка студенту

Ох і студент пішов, навіть мову не назвав...

x
Подякували: leofun011

5

Re: Допоможіть будь-ласка студенту

Ви питання читали? Йому не код потрібен, а добуток і номери.

Re: Допоможіть будь-ласка студенту

int A=2;
double X[] = {0.01; -27.3; 0; 1.25; -371; 0.5; -0.1; 1.2; -5; -172.3;
197.83; -2.7; 43.51; 0; -0.02  };
double Dob = 0.0;


template <class T>
T myDobut( T Dob, T D, int A)
{
    if ( D>A)
    Dob = D ? D*Dob : Dob ;
    if ( Dob==0) Dob=D;
    return    Dob;
}

int main()
{
    for(int i=0; i<sizeof(X)/sizeof(X[0]); i++)
    {Dob = myDobut(Dob ,X[i], A); }
return (0);
}

Диви, будь ласка. Може щось на кшталт цього. Так чі ні?
Звичайно навить щоб виконати отаке просте завдання є ледь не 100500 способів.
Подякували: Валентин7771

7 Востаннє редагувалося P.Y. (06.09.2016 11:21:12)

Re: Допоможіть будь-ласка студенту

from functools import reduce
x=[0.01, -27.3, 0, 1.25, -371, 0.5, -0.1, 1.2, -5, -172.3,
197.83, -2.7, 43.51, 0, -0.02]
a=2
print([i for i in range(len(x)) if x[i] and x[i]>a]) # Нумерація елементів починається з нуля. 
#                                       Якщо потрібна нумерація з 1, просто збільшіть номери на 1.
print(reduce(lambda x, y: x*y, [i for i in x if i and i>a]))
py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊

8

Re: Допоможіть будь-ласка студенту

koala написав:

11142058.873608027 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14]
Своє бажання ви використали. Тепер прочитайте правила, особливо п.3.5

Елементів, більших за A, чи елементів з номерами, більшими за А?

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊
Подякували: FakiNyan, koala, leofun013

9

Re: Допоможіть будь-ласка студенту

P.Y. написав:
koala написав:

11142058.873608027 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14]
Своє бажання ви використали. Тепер прочитайте правила, особливо п.3.5

Елементів, більших за A, чи елементів з номерами, більшими за А?

Гм, і дійсно... Ну, я писав на телефоні, що звісно, мене не вибачає.
Втім, яка різниця - автор спитав і зник, гадаю, більше ми його тут не побачимо.

Подякували: Валентин7771

10

Re: Допоможіть будь-ласка студенту

Тим часом, варіант розв'язку для APL :)

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊