Форум программистов, компьютерный форум 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 месяцев одного года. Определить общее количество осадков за этот год, среднемесячное количество осадков, количество... подробнее

Показать сообщение отдельно
Serdox
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32

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

03.01.2013, 14:54. Просмотров 1619. Ответов 8
Метки (Все метки)

Помогите пожалуйста! Надо написать программу в виде функций. Но я себе это как то слабо представляю. Вод задания:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1.) произведение отрицательных элементов массива;
2.) сумму положительных элементов массива, расположенных до максимального элемента.
Изменить порядок следования элементов в массиве на обратный.

А вот программа в "стандартном виде":
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"//Хранит все основные invludeпроекта
#include "conio.h"//Используется для создания текстового интерфейса пользователя
#include "stdio.h"//Реализует основные возможности ввода и вывода в языке Си
#include "locale.h"//Используется для выбора соответствующего языка.
#include "time.h"//содержит типы и функции для работы с датой и временем
#include<stdlib.h>// содержит в себе функции, занимающиеся выделением памяти
 
int _tmain(intargc, _TCHAR* argv[])
{
    setlocale(0, "Russian");//Активация Русского языка
    int n = 0, i, i_min = 0, flag, a, rand_chislo, random;//
    double pro = 1, sum = 0;//Представление чисел двойной точности с плавающей запятой
    double *arr = 0;
    printf("\n Введите размерность массива: ");
    scanf("%d", &n);
    arr = new double[n];
    printf("\n Выберите способ ввода матрицы: 1 - случайные значения, 2 - ручной ввод  ");
    scanf("%d", &flag);
    if (flag==1)//Если 1, то случайный ввод         
{for(i = 0; i < n; i++)
{srand(time(0));//Инициализация генератора случайных чисел
{arr[i]=(float)(-5000+rand()%13001)/1000;}//Случайный ввод чисел от -5 до 8
    if (flag==2)// Если 2, то ручной ввод
{for (i=0; i<n; i++)
{printf (" A[%d]= ",i); 
        scanf ("%lf", &arr[i]); }//ввод чисел последовательности
printf("\n%10.3lf", arr[i]);
    }
    inti_max=0;
    for(i = 0; i < n; i++){
        if(arr[i] < 0)
            pro *= arr[i];
        if(arr[i_max] <arr[i])
            i_max = i;}
    for(i = 0; i <i_max; i++)
        if (arr[i]>0)
        sum += arr[i];
    printf("\n\n Произведение отрицательных элементов массива = %10.3lf", pro);
printf("\n Сумма положительных элементов массива, расположенных до максимального элемента = %7.3lf\n", sum);
    printf("\n\n\n Исходный массив : ");
    for(i = 0; i < n; i++){
        printf("\n%10.3lf", arr[i])//Вывод Исходного массива
    }
        double temp;
    for ( i = 0 ; i<n/2 ; i++){//Изменение порядка следования
        temp = arr[i];
        arr[i] = arr[n-i-1];
arr[n-i-1]= temp;
    }
    printf("\n\n");
    printf("Обратный порядок следования :\n");
    for(i = 0; i < n; i++){
        printf("\n%10.3lf", arr[i]);//Вывод массива с обратным порядком следования
    }
getch();
    return 0;}}}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru