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

Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 16:55     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #1
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    setlocale (LC_CTYPE, "Russian");
    cout<<"Введите размер массива;\n";
    const unsigned Size=0;
    double A[nSize];
    cout<<"Введите массив:\n";
    for(unsigned i=0;i<nSize;i++)
    {
        cout<<"A["<<i<<"]=";
        cin>>A[i];
    }
    double B[3];
    double dMax=A[0];
    for(unsigned i=1;i<nSize;i++)
        if(A[i]>dMax)dMax=A[i];
    B[0] = max(A,nSize);
    double dAvr=0;
    double average;
    int nCount=0;
    for(unsigned i=0;i<nSize;i++)
        if(A[i]>0)
        {
            dAvr+=A[i];
            nCount++;
        }
    dAvr/=nCount;
    B[1] = average(A,nSize);
    double dMin=A[0];
    for(unsigned i=1;i<nSize;i++)
        if(A[i]<dMin)dMin=A[i];
    B[2] = abs(min(A,nSize));
    for(unsigned i=0;i<3;i++)
    cout<<"B["<<i<<"]="<<B[i]<<endl;
    cout<<"B[3]=[B[0],B[1],B[2]]";
    system("pause");
    delete[] A,B;
    return 0;
}



1)когда первый раз употребляется nSize подчеркивает и пишет что идентификатор не определен, как его определить?
2)где написано average пишет что выражение должно иметь тип указателя на функцию, но мне нужно чтоб было без указателей, как сделать?

а я вообще правильно программу написала?
вот условие
Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
• элементу В[0] присвоить значение максимального элемента массива А;
• элементу В[1] присвоить значение среднего арифметического положительных элементов массива А;
• элементу В[2] присвоить абсолютное значение минимального элемента массива А.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 16:55     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
Посмотрите здесь:

Дан массив Z(15). Сформировать массив В следующим образом C++
C++ Из массивов A[6] и B[6] сформировать массив C[12] так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.
C++ Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2)
Дан вещественный массив А (n). Отсортировать его таким образом, чтобы C++
Вычислить значение функции \ Сформировать массив С следующим образом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
13.05.2013, 14:51  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #41
Tulosba, ой ну я же серьезно)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
13.05.2013, 14:52     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #42
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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <vector>
#include <cmath>
 
int main()
{
    std::size_t vectorSize;
    std::cout << "Input the size of vector: ";
    std::cin >> vectorSize;
 
    std::vector <double> currentVector (vectorSize);
    std::cout << "Input " << vectorSize << " elements: " << std::endl;
    for (unsigned i = 0; i < vectorSize; i++)
        std::cin >> currentVector.at(i);
 
    unsigned positiveCounter(0);
    std::count_if(currentVector.begin(), currentVector.end(), [&positiveCounter] (double currentElement) -> bool {
        return positiveCounter += currentElement > 0 ? 1 : 0;
    });
    double positiveAverage(std::accumulate(currentVector.begin(), currentVector.end(), 0.0, [] (double tempSum, double currentElement) -> double {
        return tempSum += currentElement > 0 ? currentElement : 0;
    }) / positiveCounter);
    auto minimalAndMaximal(std::minmax_element(currentVector.begin(), currentVector.end()));
 
    std::vector <double> resultVector;
    resultVector.push_back(*minimalAndMaximal.second);
    resultVector.push_back(positiveAverage);
    resultVector.push_back(fabs(*minimalAndMaximal.first));
    std::cout << "Result vector: " << std::endl;
    std::copy(resultVector.begin(), resultVector.end(), std::ostream_iterator <double> (std::cout, " "));
 
    return 0;
}
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
13.05.2013, 14:58  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #43
Ev[G]eN, ну это слишком сложно
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.05.2013, 15:08     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #44
Elenaj, Я Вам в 33 сообщении предложил вполне рабочий и не трудный для понимания вариант. Если Вам что-то не понятно, или кажется сложным - спрашивайте, отвечу. Или упростим код как будет нужно. Просто я вижу тут уже 5 страниц обсуждений, при нескольких рабочих вариантах, однако Вам они кажутся не подходящими. Такими темпами можно еще N страниц наплодить и не добиться никаких результатов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 15:09     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
Еще ссылки по теме:

C++ Заданные два массива: A (n) и B (n). Сформировать массив C (n) следующим образом:
C++ Заданные два массива: A (n) и B (n). Сформировать массив C (n) следующим образом:
Задан массив из k символов. Преобразовать массив следующим образом: расположить символы в обратном порядке C++

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

Или воспользуйтесь поиском по форуму:
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
13.05.2013, 15:09     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #45
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
#include <algorithm>
#include <iostream>
#include <cmath>
 
int main()
{
    std::size_t arraySize;
    std::cout << "Input the size of array: ";
    std::cin >> arraySize;
 
    double positiveSum(0);
    unsigned positiveCounter(0);
 
    double *firstArray = new double [arraySize];
    std::cout << "Input " << arraySize << " elements: " << std::endl;
    for (unsigned i = 0; i < arraySize; i++) {
        std::cin >> firstArray[i];
        positiveSum += firstArray[i] > 0 ? firstArray[i] : 0;
        positiveCounter += firstArray[i] > 0 ? 1 : 0;
    }
    auto minimalAndMaximal = std::minmax_element(firstArray, firstArray + arraySize);
 
    double resultArray[3] = {*minimalAndMaximal.second, positiveSum / positiveCounter, fabs(*minimalAndMaximal.first)};
    std::cout << "Result: " << std::endl;
    for (unsigned i = 0; i < 3; i++)
        std::cout << resultArray[i] << " ";
    delete [] firstArray;
 
    return 0;
}
Yandex
Объявления
13.05.2013, 15:09     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
Ответ Создать тему
Опции темы

Текущее время: 00:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru