int a;
cin>>a;
int arr[a]; // Это статический массив
Некоторые компиляторы позволяют сделать такой трюк - объявить статический массив размером с переменную, но если в задаче речь о динамическом выделении памяти - то надо выделять динамически. А если открыть учебник и прочитать всё же, что такое динамическое выделение памяти и как оно реализуется, то можно узнать, что для этого используется оператор new.
Собственно, создание массива в дин. памяти, заполнение и вычисление суммы:
#include
using namespace std;
int main() {
int a;
cin >> a;
int* p = new int[a];
int sum = 0;
for (int i = 0; i < a; i++) {
cin >> p[i];
}
for (int i = 0; i < a; i++) {
sum += p[i];
}
delete[] p;
cout << sum;
return 0;
}
>Возможность купить ответ за внутреннюю бесплатную валюту (биты) у нас на таких заданиях отбирают и вертись как хочешь. Возможности посмотреть комментарии не решив задачу тоже нет.
Нахрена вообще использовать курсы, где можно "купить" ответ на упражения?
>Второй день вожусь с этой дичью.
И за два дня не пришло в голову прочитать учебник? Или тупо загуглить, как объявляется и заполняется динамический массив?
Задача уже решалась миллионы раз и пример решения содержится в любой книге по c++ или выдаётся по запросу наподобие "динамический массив создать и заполнить":
https://code-live.ru/post/cpp-dynamic-arrays
https://metanit.com/cpp/tutorial/4.12.php
и так далее, тысячи их
Код следующий:
#include <iostream>
using namespace std;
int main(){
int a;
cin>>a;
int arr[a];
int *p=arr;
int sum=0;
int nums=0;
int b;
p=p;
for (int i; i<=a; i++){
if (nums<=a){
cin>>arr[i];
nums++;
continue;
}else if(b<1){
i=0;
b++;
}
sum+=arr[i];
}
cout<<sum;
}
Возможность купить ответ за внутреннюю бесплатную валюту (биты) у нас на таких заданиях отбирают и вертись как хочешь. Возможности посмотреть комментарии не решив задачу тоже нет.