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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tolibas
Сообщений: n/a
#1

Одномерный массив/ Вычислить и вывести отрицательные числа элемента массива I, взятые в порядке их следования - C++

18.01.2013, 00:46. Просмотров 909. Ответов 1
Метки нет (Все метки)

Помогите ,пожалуйста, решить задачу!!

Ввести одномерный массив I={13, 4, -2, 6,7,-1,-5,2,-3,4}
Вычислить и вывести m[0]n[0]+m[1]n[1]+...+m[k]n[k], где m[0], m[1],…m[p] - отрицательные числа элемента массива I, взятые в порядке их следования;
n[0],n[1],…n[q] - положительные элементы массива I, взятые в обратном порядке их следования;k=min{p,q}.

в оконном режиме
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2013, 00:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив/ Вычислить и вывести отрицательные числа элемента массива I, взятые в порядке их следования (C++):

Вычислить сумму четных элементов массива и вывести отрицательные элементы на экран в обратном порядке - C++
Добрый вечер. Помогите пожалуйста с одной задачей Дан одномерный массив, состоящий из N вещественных элементов. 1. Ввести массив с...

Ввести одномерный массив А, вывести его. Вычислить среднее геометрическое положительных элементов массива - C++
Ввести одномерный массив A , вывести его. Вычислить SRG-среднее геометрическое положительных элементов массива. Преобразовать элементы...

Одномерный массив. Отрицательные числа сдвинуть в начало - C++
Заполнить одномерный массив. Все отрицательные числа переместить в начало, остальные - в конец. И сохранить их последовательность.

Сформировать массив состоящий из четных и нечетных элементов помещеных в порядке следования исходного массива - C++
Создать массив с размерностью 200 элементов со значениями от 0 до 100. Требуется сформировать массив А в который помещены в порядке...

Записать в данный массив сначала все отрицательные числа и нули, затем все положительные, сохраняя порядок их следования - C++
Здравствуйте! Прошу вас о помощи! Помогите пожалуйста написать код программы! "Дан массив чисел, содержащий n элементов. Записать в этот...

Массив: Вывести отрицательные элементы на экран в обратном порядке. - C++
Дан одномерный массив, состоящий из N вещественных элементов. 1.Ввести массив с клавиатуры. 2.Найти максимальный элемент. 3.Вычислить...

1
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
18.01.2013, 01:15 #2
Цитата Сообщение от Tolibas Посмотреть сообщение
Помогите ,пожалуйста, решить задачу!!

Ввести одномерный массив I={13, 4, -2, 6,7,-1,-5,2,-3,4}
Вычислить и вывести m[0]n[0]+m[1]n[1]+...+m[k]n[k], где m[0], m[1],…m[p] - отрицательные числа элемента массива I, взятые в порядке их следования;
n[0],n[1],…n[q] - положительные элементы массива I, взятые в обратном порядке их следования;k=min{p,q}.

в оконном режиме
n - положительные, m - отрицательные, при умножении + на -, всегда будет отрицательное число, при сложении всех чисел всегда будет отрицательное число. Вот код вобщем(он слегка длинноват, и не оптимизирован, но работает):
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
#include <iostream>
using namespace std;
 
int main() {
    int p=0,q=0,k=0,sum=0;
    int I[] = { 13, 4, -2, 6,7,-1,-5,2,-3,4 };
    int * n; // положительные
    int * m; // отрицательные
    for(int i=0; i<sizeof(I)/sizeof(int);i++) {
        cout << I[i] << " ";
        if(I[i]>=0)
            q++; // положительные
        else
            p++; // отрицательные
    }
 
    cout << endl;
 
    if(p<q) // наименьшее k
        k=p;
    else
        k=q;
 
    n=new int[k];
    m=new int[k];
 
    for(int i=0,j=0;i<sizeof(I)/sizeof(int);i++) // заполняем -
        if(I[i]<0 && j<k) {
            m[j]=I[i];
            cout << m[j] << " ";
            j++;
        }
    cout << endl;
    for(int i=sizeof(I)/sizeof(int)-1,j=0;i>=0;i--) // заполняем -
        if(I[i]>=0 && j<k) {
            n[j]=I[i];
            cout << n[j] << " ";
            j++;
        }
    cout << endl;
    for(int i=0; i<k; i++)
        sum+=m[i]*n[i];
    cout << "sum = " << sum;
 
    delete [] n;
    delete [] m;
    cin.get();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2013, 01:15
Привет! Вот еще темы с ответами:

Вывести в порядке неубывания (возрастания) отрицательные элементы массива - C++
Дан одномерный массив из N случайных действительных чисел в диапазоне от -5 до 5. Вывести в порядке неубывания (возрастания) отрицательные...

Вывести отрицательные элементы массива на экран в обратном порядке - C++
9. Дан одномерный массив, состоящий из N вещественных элементов. 9.1. Ввести массив с клавиатуры. 9.2. Найти максимальный элемент. ...

Вывести индексы максимального элемента (матрицы, отрицательные числа) - C++
Привет всем, помогите пожалуйста подготовиться к экзамену по информитикы)) 1. Базы данных и СУБД. Понятие реляционной базы данных. ...

Массив. Положительные элементы массива а, записанные в том же порядке + отрицательные элементы массива b, записанные в обратном порядке - C++
Из двух массивов а, а, ...., а и b, b, ....., b, создать следующие массивы: 1. Положительные элементы массива а, записанные в том же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru