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

malloc, realloc - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение с текстового файла и добавить к списку текстового файла случайный индекс http://www.cyberforum.ru/cpp-beginners/thread396423.html
Здравствуйте! Помогите пожалуйста решить задачу! Задача такова: ''Создаёться txt файл (простой файл и туда самостоятельно записывается например список студентов), надо прочитать этот файл и поместить каждую запись которая начинается с новой строки в массив! Затем каждому элементу массива надо присвоить случайный id (через random) и записать обратно в файл. Буду очень благодарен за помощь!
C++ Решение задачи( разветвляющие и циклические алгоритмы) Прошу написать программу, вот задание. За один день до зачета не успею сделать!!!((( Линейные и разветвляющиеся алгоритмы. 1.1.Вычислить значение функции при А=1.5, В=2, С=2.5 (константы ввести из файла) и произвольном x (ввести с клавиатуры). Результат напечатать на экран и вывести в файл. y=(1/cos(x)+ln(fabs(log(a/b)))+C*x 1.2. Выяснить, существует ли треугольник с длинами сторон... http://www.cyberforum.ru/cpp-beginners/thread396417.html
Наибольший общий делитель (НОД) C++
Вычислить наибольший общий делитель элементов целочисленного списка.
Собственный манипулятор C++
Добрый день! Прошу помощи с заданием: Создать манипулятор без параметров endp, который подсчитывает число выведенных строк и при заполнении страницы выполняет операцию перехода на новую страницу. Число строк на странице фиксировано в функции-манипуляторе. При тестировании (вывод на экран) переход на новую страницу смоделировать выводом какой-либо строки, например,...
C++ Как вывести строки? http://www.cyberforum.ru/cpp-beginners/thread396400.html
Всем привет. Нужно ввести несколько строк с клавиатуры, и всех их вывести. делаю так int i=0; for(i=0;i<3;i++) gets(s); puts(s); а выводит только последнюю введенную строку. как правильно вывести все введенные строки?
C++ Дано натуральное число n. дано натуральное число n. Сформировать произвольную матрицу размерностью n*n. Найти минимальный из элементов, расположенных под главной диагональю, и максимальный из элементов, расположенных над главной диагональю. подробнее

Показать сообщение отдельно
Alexpm
3 / 3 / 0
Регистрация: 06.09.2011
Сообщений: 47
01.12.2011, 15:23  [ТС]     malloc, realloc
go


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
#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
 
void main()
{
    setlocale(LC_ALL,"Russian");
    int n=10;
    cout<<"Введите n="<<" ";
    cin>>n;
    int *m1=new int[n];
    int *m2=(int*) malloc(sizeof(int));
 
    
    srand (time(NULL));
    int num;
    for(int i=0;i<n;i++)
    {
        num = rand() %n;
        m1[i] = num;
    }
 
 
    int k=0, p=0;
    for (int i=0; i<n; i++)
    {
        k=0;
        for (int j=1; j<=m1[i]; j++)
        {
            if (m1[i]%j==0)
            {
                k++;
            }
        }
        if (k==2)
        {
                m2[p]=m1[i];
                p++;
                m2=(int*) realloc (m2, p*sizeof(int));
                
        }
 
    }
 
 
    for (int i=0; i<p; i++) {cout<<m2[i]<<endl;}
Я вот так пробовал, но не получается... можно конечно выделить сразу таким образом: int *m2=(int*) malloc(n*sizeof(int)); но мне хочется разобраться, чтоб небыло затрачено лишней памяти.

Добавлено через 7 минут
Вопрос снимаю)) понял свой недочет)))
У меня там нужно написать:
m2=(int*) realloc (m2, (p*sizeof(int))+sizeof(int));
 
Текущее время: 08:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru