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

Массив заранее неизвестного размера - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фибоначчи большее N http://www.cyberforum.ru/cpp-beginners/thread168358.html
Пожалуйста помогите написать программу найти первое число Фибоначчи, большее N, где N — заданное натуральное число, большее 1.
C++ Все элементы с наибольшим значением в целочисленной квадратной матрице порядка 10 заменить нулями Все элементы с наибольшим значением в целочисленной квадратной матрице порядка 10 заменить нулями. http://www.cyberforum.ru/cpp-beginners/thread168347.html
C++ Шаблон функции для нахождения среднего арифметичного элементов масива
Написать шаблон функции для нахождения среднего арифметичного елементов масива.
Все отрицательные элементы массива перенести в начало, а все остальные - в конец C++
помогите пожалуйста))) преобразовать массив по следующему правилу (воспользовавшись массивом у как вспомогательным):все отрицательные элементы массива х перенести в его начало , а все остальные -в...
C++ Создать класс vector3D, задаваемый тройкой координат http://www.cyberforum.ru/cpp-beginners/thread168301.html
Создать класс vector3D, задаваемый тройкой координат. Обязательно должны быть реализованы: сложение и вычитание векторов, скалярное произведение векторов, умножение вектора на скаляр, вычисление...
C++ В последовательности вещественных чисел подсчитать произведение чисел, кратных 3 В последовательности вещественных чисел подсчитать произведение чисел, кратных 3. подробнее

Показать сообщение отдельно
J.A.B.
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 14
26.12.2013, 08:56
Сразу прошу прощения за некропост, однако гугл даёт сюда первую ссылку, поэтому решил поделится - может кому-то пригодится в будущем.
Столкнулся с похожей проблемой, что и ТС.
Есть ещё один способ без использоания вектора, да и по сути, это не динамический массив.
Насколько я понял, ругается компиллятор на точ, что не знает сколько памяти выделить, и не может зависеть от переменной. однако, компиллируется "сверху вниз" и, например, из функции приходит уже известное значение - не переменая. возможно мыслю не совсем верно, однако код работает:
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
/**В массиве М[N] записаны оклады работников предприятия. Вывести на экран средний оклад по предприятию и номера тех работников, чьи оклады ниже среднего.*/
#include <iostream>
#include <windows.h>
using namespace std;
 
int arrsize(int j)
{
    return j;
}
 
int main()
{
    setlocale(LC_ALL, "russian");
    int i = 0, j, k = 0;
 
    double sum = 0, ave;
    cout << "Введите кол-во работников" << endl;
    cin >> j;
    const int n = arrsize(j);
    double m[n];// = {0};
    cout << "Вводите заработные платы сотрудников поочерёдно" << endl;
    for (i; i <= n-1; i++)
    {
        cin >> m[i];
        sum = sum + m[i];
    }
    ave = sum/n;
 
    cout << "Средний оклад по предприятию равен "<< ave << endl
         << "Номера работников, получающих меньше средней з/п: " << endl;
    for (k; k <= n-1; k++)
    {
        if(m[k] < ave) cout << k << endl;
    }
    system ("pause");
    return 0;
}
PS если в 20 строке присвоить значение - вывалится в ошибку
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.