Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121

Динамическое выделение памяти

06.02.2011, 20:00. Показов 1352. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
создать динамический масив, создать функцию, которая сумирует все елементы масива, и функцию, которая печатает содержимое масива и результат вычислений, очистить память.
Вот код , я не проверял( нет на чом проверить)

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
int t(int i);
 
 
int main();
{
int *p;
 
p = new int[10]; // Виділення пам'яті для масиву з 10 елементів типу int
srand(time(NULL);
p = rank()%200;
s =int t(0);
 
delete [] p; // Звільнення виділеної пам'яті
 
 
return 0;
}
int t(inti)
{
sum=0;
for(i;i<10;i++);
sum+=i
return i;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2011, 20:00
Ответы с готовыми решениями:

Распределение памяти. Динамическое выделение памяти
an-1 an-2 ... a2

Динамическое выделение памяти
Здраствуйте. Собственно сам код и вопрос: почему могу свободно выходить за границы массива? Для чего тогда размерность указывается......

Динамическое выделение памяти
Добрый день. Возник вопрос: Как мне узнать адрес последнего байта в выделенной памяти? Я выделил память (массив нулей и единиц): ...

8
216 / 216 / 33
Регистрация: 26.12.2010
Сообщений: 691
06.02.2011, 20:16
тут и без компилятора видно не мало ошибок)
Цитата Сообщение от kaffein Посмотреть сообщение
int t(int i);
int main();
{
int *p;
p = new int[10]; // Виділення пам'яті для масиву з 10 елементів типу int
srand(time(NULL); - скобка
p = rank()%200; - rand, а не rank и не так, а p[НОМЕР ЭЛ МАССИВА] = rand()%200;
s =int t(0);- почему передаем 0 то?для чего int стоит? ... s = t(p[НОМЕР ЭЛ МАССИВА]);
delete [] p; // Звільнення виділеної пам'яті
return 0;
}
int t(inti) - int i
{
sum=0;
for(i;i<10;i++);
sum+=i - почему прибавляем i? когда необходимо прибавлять элемент массива.
return i; - возвращаем не i, а sum.
}
Добавлено через 52 секунды
Цитата Сообщение от kaffein Посмотреть сообщение
srand(time(NULL);
p = rank()%200;
s =int t(0);
и эту часть делайте в цикле ..
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
06.02.2011, 20:19
Цитата Сообщение от kaffein Посмотреть сообщение
нет на чом проверить
Онлайн компиляторы есть
http://codepad.org/
http://www.onlinecompiler.net/
1
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
06.02.2011, 20:30  [ТС]
та я тот код писал, буквально 2 мин. не мог бы ти написать как правильно нужно справится с тем заданием
0
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
07.02.2011, 10:21
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
#include<iostream>
using namespace std;
 
int add (int *mas, int q)
{
    int i, sum=0;
    for (i=0; i<q; i++)
        sum+=mas[i];
    return sum;
}
void print (int *mas, int q)
{
    int i, summa=0;
    cout<<"Array: \n";
    for (i=0; i<q; i++)
        cout<<mas[i]<<" ";
    summa=add (mas, q);
    cout<<"\nSumma: "<<summa<<endl;
}
int main ()
{
    int n, i, k=0;
    cout<<"Enter n: ";
    cin>>n;
    int *a=new int [n];
    cout<<"Enter "<<n<<" elements: \n";
    for (i=0; i<n; i++)
        cin>>a[i];
    print (a, n);
    delete [] a;
    return 0;
}
1
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
07.02.2011, 14:32  [ТС]
один вопрос:
ти передаёшь в функцию add и sum - mas, а выделяешь память для а?
И можно зделать функцию, которая заполняет масив случайными числами!
если можно с коментами
0
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
07.02.2011, 14:41
ти передаёшь в функцию add и sum - mas, а выделяешь память для а?
память для а выделяется тут
C++
1
 int *a=new int [n];
new int выделяет память под n элементов типа int.
Функция add вызывается из функции print (в add вычисляется функция и передается ответ в print для печати)
Чтобы заполнить случайными числами, добавь в самое начало
C++
1
#include <time.h>
а main будет выглядеть так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main ()
{
    
        int n, i, k=0;
        cout<<"Enter n: ";
        cin>>n;
        int *a=new int [n];
        srand(time(NULL));
        cout<<"Enter "<<n<<" elements: \n";
        for (i=0; i<n; i++)
               a[i]=rand()%20; //заполнение массива случайными числами от 0 до 19
        print (a, n);
        delete [] a;
        return 0;
}
0
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
07.02.2011, 16:05  [ТС]
понял, спасибо!!!
0
19 / 19 / 2
Регистрация: 30.11.2010
Сообщений: 164
07.02.2011, 17:23
C++
1
2
3
    
#include <stdlib.h> // нужна для функции rand
#include <time.h> // берёт значение времени (секунды) и использует его для генерации
все остальное как показал NNN777
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2011, 17:23
Помогаю со студенческими работами здесь

Динамическое выделение памяти
Имеется: #define Index 1000 typedef int BaseType; typedef BaseType TMemList; typedef unsigned ptrel; typedef struct List...

Динамическое выделение памяти
Доброго времени суток всем!:) Есть такая проблема... Дан класс полином. который содержит закрытые члены коэффициент и степень полинома, а...

Динамическое выделение памяти
Вот у меня есть 2 примера: char* str = &quot;Немыслимый текст&quot;; char* s = new char ; Тут указатель s будет указывать на блок в...

Динамическое выделение памяти
Имеется такая вот задача ! Нужно сделать что бы память выделялась динамически,а не на этапе компиляции!!! Какие будут предложения ??? ...

Динамическое выделение памяти
Первый раз столкнулся с такой задачей... Дали лабораторную работу: Разработать приложения, реализующее следующие функции: 1) Выделяет...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru