Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 289
1

Не добавляются элементы в динамический массив

07.10.2012, 20:59. Просмотров 381. Ответов 4
Метки нет (Все метки)

блин да что не так то??
пытаюсь добавить элементы в массив, а они ни в какую!
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
#include "processor.h"
#include <fstream>
#include <sstream>
void loader(string file)
{
    ifstream f(file);//открываем файл-программу
    string str,per;//строка файла и считанное число
    string com[5];//сделать динамич массив для команд
    processor VM;
    VM.count=0;
    short aa;
    int flag=1;//по умолчанию плюс - true это плюс
    double drob=0;
    int i=1, cel, por;
    while (!f.eof())
    {
        int *dinam = new int[64000];
        getline(f,str);
        for(int j=0;j<str.size();j++)
        {
            aa=str[j]-'0';
            VM.memory[VM.count++]=aa;
            dinam[j]=j;
        }
        //переписываем весь входной файл в память
    }
}
Простейший пример с массивом dinam, но элементы не добавляются!
после трёх добавлений в массиве по прежнему мусор
Помогите пожалуйста!! Вся работа встала

Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    setlocale(0,"Russian");
    int *buka = new int[64000];
        for(int j=0;j<7;j++)
        {
            buka[j]=j;
        }
    system("pause");
    return 0;
}
И так не пашет =(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 20:59
Ответы с готовыми решениями:

Используя динамический массив, обработать элементы
Дан массив целых чисел из n элементов. Удалить из него все элементы, в записи...

Из массива Х все четные элементы записать в динамический массив Y
Сформировать динамический одномерный целочисленный массив Х. Найти количество...

Создать динамический массив и заполнить его элементы определёнными значениями
Здравствуйте! Подскажите пожалуйста в чём может крыться ошибка (суть задачи...

Не могу уничтожить все нечетные элементы. При этом использовать динамический массив
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;windows.h&gt; using namespace...

Посмотрите объявление вектора и попытайтесь создать динамический массив, содержащий элементы типа char
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() {...

4
BuPy7
Нет ТЗ - давай досвидания
742 / 372 / 64
Регистрация: 01.12.2011
Сообщений: 2,250
07.10.2012, 21:08 2
Суть работы с динамическими данными:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    //создаём массив
    int *a = new int[5];
    
    //заполняем
    for (int i = 0; i != 5; i++)
        cin >> a[i];
    
    //распечатываем
    for (int i = 0; i != 5; i++)
        cout << a[i] << " ";
          
          //освобождаем память
          delete a;
Добавлено через 2 минуты
P.S. А код у вас рабочий.
0
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 289
07.10.2012, 21:12  [ТС] 3
только он почему-то не работает -_-
Добавила скриншот, посмотрите
на изображении видно, что массив по прежнему пуст, хотя значение j показывает, что уже должно быть добавлено несколько элементов
0
Миниатюры
Не добавляются элементы в динамический массив  
BuPy7
Нет ТЗ - давай досвидания
742 / 372 / 64
Регистрация: 01.12.2011
Сообщений: 2,250
07.10.2012, 21:24 4
Это адрес элемента в памяти Вы же указатель на массив типа int создали.
Запустите этот код, и посмотрите как это работает. Вопросы сразу отпадут и всё станет ясно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//main.cpp
#include <iostream>
#include <conio.h>
#include <locale.h>
 
using namespace std;
 
int main()
{
    //русифицируем консоль
    setlocale(LC_ALL, "Russian");
     
    int *a = new int[1];
    a[0] = 5;
 
    cout << "Адрес: " << a << " Значение записанное в адресе: " << *a;
 
    _getch();   //задержка
    return 0;
}
0
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 289
07.10.2012, 21:32  [ТС] 5
Цитата Сообщение от Metallnote Посмотреть сообщение
Это адрес элемента в памяти Вы же указатель на массив типа int создали.
Запустите этот код, и посмотрите как это работает. Вопросы сразу отпадут и всё станет ясно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//main.cpp
#include <iostream>
#include <conio.h>
#include <locale.h>
 
using namespace std;
 
int main()
{
    //русифицируем консоль
    setlocale(LC_ALL, "Russian");
     
    int *a = new int[1];
    a[0] = 5;
 
    cout << "Адрес: " << a << " Значение записанное в адресе: " << *a;
 
    _getch();   //задержка
    return 0;
}
оооо
а я то думаю >< как такое может не работать
спасибо большое, прям камень с души)
0
07.10.2012, 21:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 21:32

В новый динамический массив выписать все элементы массива, которые делятся на заданное число
Помоготи с простенькой задачей: Дан массив произвольных чисел необходимо в...

По заданной матрице составить динамический массив, элементы которого равны суммам элементов соответствующего столбца
По заданной матрице составить вектор, элементы которого равны суммам элементов...

Создать динамический массив нужного размера и скопировать в него все положительные элементы из первых двух массивов
Решить задачи через Указатели... 1. Программа должна создать два массива со...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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