Форум программистов, компьютерный форум CyberForum.ru

Вычислить произведение отрицательных элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана строка, нужно символ в этой строке заменить ее порядковым номером. http://www.cyberforum.ru/cpp-beginners/thread751796.html
2) дана строка, нужно символ в этой строке заменить ее порядковым номером. помогите пожалуйста.
C++ Нужно инвертировать вторую половину строки. 1) нужно инвертировать вторую половину строки. помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread751794.html
Перевести код с Pascal C++
uses crt; const nmax=20; var a:array of integer; n,i,d:integer; f:boolean; begin repeat write('Размер массива до ',nmax,' n='); read(n); until n in ;
C++ Определить координаты вершин прямоугольного треугольника
определить координаты вершин прямоугольника наименьшего периметра содержащего треугольник координаты вершин котрого (x1,y1), (x2,y2), (x3,y3) не могу математически даже вникнуть в условие. решения нет никакого. помогите пожалуйста к может. на зачёт завтра нужно решить эту задачу. буду сильно благодарен!
C++ Сравнение и замена символов http://www.cyberforum.ru/cpp-beginners/thread751778.html
У меня есть файл с которого я считываю информацию массив. Если встречается определенный символ то мне нужно заменить его на другой. И самой главное мне нужно уже обработанный текст со всеми заменами поместить в новый файл! Как такое эффективнее реализовать??
C++ Определить общее количество осадков за этот год Занести из файла в массив сведения о количестве осадков, выпавших за каждый из 12 месяцев одного года. Определить общее количество осадков за этот год, среднемесячное количество осадков, количество засушливых месяцев (когда количество осадков было меньше 30 мм), самый засушливый месяц года. Нахождение самого засушливого месяца оформить в виде функции, в которую необходимо передать в качестве... подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
12877 / 7263 / 810
Регистрация: 27.09.2012
Сообщений: 17,940
Записей в блоге: 2
Завершенные тесты: 1
05.01.2013, 09:25     Вычислить произведение отрицательных элементов массива
Цитата Сообщение от Serdox Посмотреть сообщение
Croessmah, А ты не мог бы прокомментировать хотя бы основные функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <cstdlib>
#include <ctime>
//Функция "переворачивает" массив
void reverse(int *arr, size_t size){
    int *arrend=arr+size-1;
    int temp;
    while(arr<arrend){
        temp=*arr;
        *arr=*arrend;
        *arrend=temp;
        --arrend; ++arr;
    }
}
//Функция возвращает индекс максимального элемента массива
int GetMaxIndex(int * arr,int size){
    int maxindex=0;
    for(int i=1;i<size;maxindex=arr[i]>arr[maxindex]?i:maxindex,++i);
    return maxindex;
}
//Функция возвращает произведение отрицательных элементов массива
int foo1(int * arr,int size){
    int mult=1;
    for(int i=0;i<size;mult*=arr[i]<0?arr[i]:1,++i);//mult*=arr[i]<0?arr[i]:1 - если arr[i] отрицательный, то mutl*=arr[i], иначе mult умножается на 1, то есть не изменяется
    return mult;
}
 
//Функция фозвращает сумму положительных элементов массива
int foo2(int * arr,int size){
    int summ=0;
    for(int i=0;i<size;summ+=arr[i]>0?arr[i]:0,++i);//По аналогии с foo1
    return summ;
}
//Функция вывода массива на консоль
void show(int * arr,int size,bool endline=true){
    for(int i=0;i<size;++i)
        std::cout<<arr[i]<<" ";
    if(endline) std::cout<<std::endl;
}
//Функция заполнения массива псевдослучайными числами
void fillrandom(int * arr,int size,int max,int min){
    srand(time(NULL));//Инициализируем генератор текущим временем
    for(int i=0;i<size;++i)
        arr[i]=rand()%(max-min+1)+min;//Генерируем число [min;max]
}
 
int main(){
    const int n=15;//Размер массива
    int arr[n];
    fillrandom(arr,n,10,-10);//Заполняем массив
    show(arr,n);//Выводим массив
    std::cout<<"1) "<<foo1(arr,n)<<std::endl;//Выводим результат выполнения функции foo1
    std::cout<<"2) "<<foo2(arr,GetMaxIndex(arr,n))<<std::endl;////Выводим результат выполнения функции foo1. В качестве размера передаем индекс максимального элемента, для ограничения.
    std::cout<<"3) ";
    reverse(arr,n);//Переворачиваем массив
    show(arr,n);//Выводим массив на консоль.
    return 0; 
}
 
Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru