Форум программистов, компьютерный форум 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jaja
6 / 6 / 1
Регистрация: 04.05.2013
Сообщений: 27
12.05.2013, 17:55     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #21
Цитата Сообщение от metaluga145 Посмотреть сообщение
Elenaj, присвоить ему количество элементов массива
Но если у ней количество элементов не известно заранее, то определять массив A нужно не статически, а динамически.

Например через функцию malloc.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 17:59  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #22
jaja, я пока не умею через эту функцию
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
12.05.2013, 18:00     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #23
Цитата Сообщение от jaja Посмотреть сообщение
Например через функцию malloc.
раз мы уже пользуемся потоками, то давайте уже через функцию new и указатели
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 18:02  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #24
metaluga145, нет нельзя через них, просто задание такое( я уже потому что пыталась с указателями и у меня не приняли(
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
12.05.2013, 18:06     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #25
Elenaj, тогда массив будет статический. То есть, размер будет всегда одинаковым
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 18:08  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #26
metaluga145, а как определить идентификатор?
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
12.05.2013, 18:14     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #27
Elenaj, напишите
C++
1
const unsigned Size=5;
и тогда в массиве будет 5 элементов
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 18:17  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #28
metaluga145, а если написать не 5 а N?
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
12.05.2013, 18:20     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #29
Elenaj, что такое N?
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 18:22  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #30
metaluga145, ну просто переменная

int N;
const unsigned nSize=N;
double A[nSize];

вот я написала вот так но теперь пишет что nSize должно иметь константное значение
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
12.05.2013, 18:24     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #31
Elenaj, для присвоения должны совпадать типов.
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
12.05.2013, 18:26  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #32
metaluga145, ну они и так совпадают потому что у nSize тип int
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.05.2013, 19:15     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #33
Так пойдет?
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
#include <iostream>
#include <algorithm>
 
int main()
{
    double A[] = {1,2,-3,4,5,6};
    double B[3];
    
    const int size = sizeof(A)/sizeof(*A);
 
    auto mm = std::minmax_element( A, A+size );
 
    B[2] = std::abs( *mm.first );
    B[0] = *mm.second;
    B[1] = 0;
 
    int count = 0;
    for( auto e : A )
    {
        if( e >= 0 )
        {
            B[1] += e;
            count++;
        }
    }
 
    if( count > 0 ) { B[1] /= count; }
 
    std::cout << B[0] << std::endl;
    std::cout << B[1] << std::endl;
    std::cout << B[2] << std::endl;
 
    std::system("pause");
    return 0;
}
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
12.05.2013, 22:21     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #34
Elenaj, они не совпадают, потому что одно const, а другое-нет
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
13.05.2013, 08:56  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #35
Tulosba, немного не понятно

Добавлено через 2 часа 57 минут
metaluga145, а как сделать одинаковые?
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
13.05.2013, 13:34     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #36
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    system("CHCP 1251"); //Это у меня для русской кодировки при шрифте lusidia console
            
    const int N=6; //Предполагаемый максимум будет на 1 меньше чем указан
    double A[N]={0,};
    double B[3]={0};
    int len=N+1; //Активные ячейки. Длина массива А
 
    cout<<"Введи длину массива "; 
    
    while ((len>=N)||(len<1))
    {
        cin>>len;
        if (len>=N) cout<<"Слишком большой размер\n"<<
                           "Введи длину массва: " ;
        else if (len<1) cout<<"Слишком маленький размер\n"<<
                           "Введи длину массва: " ;
    }
    cout<<"\n";
 
    for (int i=0;i<len;i++) //Заполнение массива
    {
        cout<<i+1<<". ";
        cin>>A[i]; 
    }
 
    
    double max=A[0]; //Максимальный элемент
    double min=A[0]; //Минимальный элемент
    double sum=0;    //Это сделаем средним арифметическим
 
    for (int i=0;i<len;i++)
    {
        if (max<A[i]) max=A[i];
        if (min>A[i]) min=A[i];
        if (A[i]>0) sum=sum+A[i];
    }
 
    B[0]=max;
    B[1]=sum/len;
    B[2]=abs(min);
    
    cout<<"ИСХОДНЫЙ МАССИВ:\t";
    for (int i=0;i<len;i++) cout<<A[i]<<"\t";
    cout<<"\nМАССИВ B[3]:\t\t";
    for (int i=0;i<3;i++) cout<<B[i]<<"\t";
    cout<<"\n\n";
    system("PAUSE");
}
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
13.05.2013, 13:38  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #37
daslex, не, вы лучше подскажите как переделать чтобы он не писал что мне нужно константное значение? потому что мне нужно чтоб я размер сама вводила
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
13.05.2013, 13:43     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #38
Elenaj,
а как я показал вы вводите не сами?
Elenaj
4 / 0 / 1
Регистрация: 28.03.2013
Сообщений: 28
13.05.2013, 14:32  [ТС]     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: #39
daslex, что такое len?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 14:48     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Tulosba
13.05.2013, 14:48     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
  #40

Не по теме:

Цитата Сообщение от Elenaj Посмотреть сообщение
что такое len?
это такое сокращение от Лена

Yandex
Объявления
13.05.2013, 14:48     Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом:
Ответ Создать тему
Опции темы

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