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

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

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

03.01.2013, 14:54. Просмотров 1523. Ответов 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;}}}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru