Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Описание
- 1. нахождение произведения положительных элементов
- будем хранить произведение в переменной pr
- изначально pr = 0; по мере считывания элементов a[i] массива мы смотрим, является ли очередной элемент a[i] положительным
- если да, то
- 1) если pr == 0, значит это первый положительный элемент который мы встретили; запишем его в ответ : pr = a[i]
- 2) если pr != 0, значит у нас уже есть произведение каких-то чисел; добавим новое число в ответ : pr *= a[i];
- после считывания всех элементов мы получим в переменной pr произведение положительных чисел;
- 2. нахождение суммы до минимального элемента
- будем хранить индекс минимального элемента в переменной mi
- изначально mi = 0; по мере считывания элементов a[i] массива мы сравниваем очередной элемент a[i] с минимальным элементом a[mi],
- и если a[i] < a[mi], это значит, что на данном шаге a[i] является мин. элементом : mi = i;
- после считывания всех элементов мы получим в переменной mi индекс мин. элемента;
- останется только сложить все a[i] , 0 <= i < mi;
- */
- /*
- Трассировка
- n = 5
- a[] = {-1 9 0.3 -10 0.2}
- i a[i] if(a[i]>0.0) if(pr == 0.0) pr if(a[i] < a[mi]) mi
- ------------------------------------------------------------------
- 0 -1 0 - 0.0 0 0
- 1 9 1 1 9 0 0
- 2 0.3 1 0 2.7 0 0
- 3 -10 0 - 2.7 1 3
- 4 0.2 1 0 0.54 0 3
- */
- #include <bits/stdc++.h>
- using namespace std;
- double a[10000];
- int main(){
- int n;
- cin >> n;
- double pr = 0;
- int mi = 0;
- for(int i = 0; i < n; i ++){
- cin >> a[i];
- if(a[i] > 0.0){
- if(pr == 0.0){
- pr = a[i];
- }
- else pr *= a[i];
- }
- if(a[i] < a[mi])mi = i;
- }
- double sum = 0;
- for(int i = 0; i < mi; i ++){
- sum += a[i];
- }
- cout << "proizvrdenie " << pr << endl;
- cout << "summma do min elementa " << sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement