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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
#1

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

06.02.2011, 20:00. Просмотров 604. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2011, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое выделение памяти (C++):

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

Динамическое выделение памяти - C++
Добрый день! пытаюсь освоить С++ и дошёл до раздела динамического выделения памяти. Беру пример с сайта cppstudio.com всё работает ...

Динамическое выделение памяти - C++
Почему распечатка матрицы Matr1 в f2 дает матрицу из ед., а в f1 матрицу из нулей? Ведь адрес первого эл. массива Matr2 сохранен в...

Динамическое выделение памяти - C++
Здравствуйте, у меня вопросик такой: почему при &quot;динамическом выделении памяти в строку&quot; у меня вылетает программа!? а при обычном...

Динамическое выделение памяти new - C++
Доброго времени всем :) Недавно начал вникать в прелести c++, однако встретился с неприступной холодностью его и непониманием моих...

Динамическое выделение памяти - C++
Доброго времени суток. Пытаюсь разобраться с динамическим выделением память. Суть: Есть структура с двумя полями: 1. Указатель...

8
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
06.02.2011, 20:16 #2
тут и без компилятора видно не мало ошибок)
Цитата Сообщение от 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
Somebody
2789 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
06.02.2011, 20:19 #3
Цитата Сообщение от kaffein Посмотреть сообщение
нет на чом проверить
Онлайн компиляторы есть
http://codepad.org/
http://www.onlinecompiler.net/
1
kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
06.02.2011, 20:30  [ТС] #4
та я тот код писал, буквально 2 мин. не мог бы ти написать как правильно нужно справится с тем заданием
0
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
07.02.2011, 10:21 #5
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  [ТС] #6
один вопрос:
ти передаёшь в функцию add и sum - mas, а выделяешь память для а?
И можно зделать функцию, которая заполняет масив случайными числами!
если можно с коментами
0
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
07.02.2011, 14:41 #7
ти передаёшь в функцию 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  [ТС] #8
понял, спасибо!!!
0
Valerko
17 / 17 / 1
Регистрация: 30.11.2010
Сообщений: 164
07.02.2011, 17:23 #9
C++
1
2
3
    
#include <stdlib.h> // нужна для функции rand
#include <time.h> // берёт значение времени (секунды) и использует его для генерации
все остальное как показал NNN777
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2011, 17:23
Привет! Вот еще темы с ответами:

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

Динамическое выделение памяти - C++
Выполнить задание используя динамическое выделение памяти: Данная целочисленная прямоугольная матрица. Определить: -количество строк,...

Динамическое выделение памяти - C++
Уважаемые программисты!!!! Подскажите как выделить память для двумерного массива. Заранее спасибо!!!

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


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

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
07.02.2011, 17:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru