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

Простая программка (найти ошибку в коде) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считать из файла числовые переменные построчно http://www.cyberforum.ru/cpp-beginners/thread895514.html
Приветствую. Для начала - общее описание того, что мне нужно. Есть файл. В нем построчно записаны числа. Но вот чисел там может быть разное количество - значит, статический массив мне не подойдет. Итог мне нужен примерно такой: (строка, считанная переменная). Было у меня два варианта: - считывать все переменные подряд (использовала scanf)...но тут возникла проблема, что запомнить номер...
C++ Напишите программу, которая выводит на экран четыре и более следующих друг за другом без учета промежутков гласных букв Такое вот задание: Есть строка, состоящая из слов, разделенных любым количеством пробелов. Напишите программу, которая выводит на экран четыре и более следующих друг за другом без учета промежутков гласных букв. Есть начинания, но без продолжения подскажите как действовать дальше #include "stdafx.h" #include <iostream> #include <string.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread895510.html
Возврат в функцию C++
Как сделать так, чтобы когда функция выполнилась, она вернула управление не в точку, из которой вызывалась, а в начало вызывающей функции?
Дана последовательность, содержащая от 1 до 30 слов. Слова разделены одним или несколькими пробелами. За последним словом – точка C++
Дана последовательность, содержащая от 1 до 30 слов. Слова разделены одним или несколькими пробелами. За последним словом – точка. Напечатать: слова, в которых нет повторяющихся букв;
C++ Чем new отличается от malloc? http://www.cyberforum.ru/cpp-beginners/thread895484.html
Чем new отличается от malloc?
C++ Нужно написать программу нахождения скачка потенциала. (Есть алгоритм) Дан U - массив оцифрованного потенциала. Дано еще U пороговое. Найти скачек и вернуть время скачка. 1. Вводим то, что дано. Это понятно. - dt - шаг табуляции U(t) или шаг квантования, - n - размерность массива U(), - Uпорог - порог компаратора, 2. Зануляем начальные условия - i - счетчик цикла, - к - переменная, в которой накапливается количество точек U(t) выше Uпорог, подробнее

Показать сообщение отдельно
Гром
210 / 129 / 11
Регистрация: 20.03.2009
Сообщений: 1,103
Записей в блоге: 16
Завершенные тесты: 1
08.06.2013, 18:30     Простая программка (найти ошибку в коде)
У вас не выделяется память под data. Должно быть что-то вроде
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
class ARR
{
    public:
    int i;
    int *data;
 
    ARR(): i(0), data(0) {}   //Используем список инициализации вместо присваивания в теле функции
    APR(int sz):
       i(sz), data(new int[sz])   //Другой конструктор, в котором создаем массив размера sz
       {
       for (int k = 0; k < sz; ++k)   //В теле конструктора инициализируем элементы нулями
              data[k] = 0;
       }
    ~ARR() { delete[] data; }   //Освобождаем память, если применяем delete к нулевому указателю, ничего не происходит
    void add(int r)
    {
       int* temp = new int[i + 1];   //Создаем новый массив размера на единицу больше, копируем в него старые значения
       for (int k = 0; k < i; k++)
              temp[k] = data[k];
       temp[i]=r;   //Добавляем в последний элемент новое значение
       delete[] data;   //Удаляем старый массив
       data = temp;   //Присваиваем указателю адрес нового массива
        i++;
    }
};
Зря вы только размер массива назвали i, оно обычно используется как счетчик циклов. Используйте лучше что-то вроде size, sz, arr_sz, N. И выводить нужно не массив (указатель), а элемент массива:
C++
1
cour << One.data[0];
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru