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

Добавление записей в массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Многопоточность http://www.cyberforum.ru/cpp-beginners/thread964819.html
Здравствуйте! Пожалуйста посоветуйте литературу или какие либо статьи для изучение многопоточных приложений где расписано все подробно. (для чайника)
C++ Нулевые элементы размещены в верхнем и нижнем треугольнике, за условием разделения матрицы диагоналями на 4 треугольника Прошу помочь мне так как я вообще незнаю что делать. У нас в университете такая ситуация что только было две лекции по языку С++ одна из которых история языка, а в предмете по алгоритмах в 1 лабе задача непонятно какого уровня где уже используют "указатели". Начал читать книжку Лафоре, но до указателей мне еще далеко, а задачу надо решить до завтра. Помогите пожалуйста Задача: Нулевые элементы... http://www.cyberforum.ru/cpp-beginners/thread964810.html
C++ Числовая последовательность 2n!
Написать программу или хотя бы алгоритм, которая для n=0,1,2... вычисляет максимальный элемент и его номер и выводит на экран
C++ Как сделать в конструкциий switch, чтобы он считал норм float и double
Подскажите как сделать в конструкциий switch что бы он считал норм float и doable и возможна как то сделать case 095:
C++ В 10-ую сс http://www.cyberforum.ru/cpp-beginners/thread964778.html
Помогите написать программу перевода из любой сс в 10-ую сс...
C++ Перегрузка операции присваивания и сложения Необходимо составить описание класса для определения одномерных массивов целых чисел. Границы индексов можно задавать произвольно, т.е. массив не обязательно начинается с нуля. При попытке сложения массивов выскакивает ошибка ("нарушение прав доступа при чтении по адресу"). Укажите ошибку, пожалуйста. #include "stdafx.h" #include <iostream> #include <locale.h> using namespace std; подробнее

Показать сообщение отдельно
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555

Добавление записей в массив - C++

29.09.2013, 13:42. Просмотров 324. Ответов 5
Метки (Все метки)

Дан массив целых чисел размером 10 элементов. Пользователь вводит новые элементы с клавиатуры, которые необходимо добавлять в конец исходного массива. Реализовать нужно через функцию добавления одного элемента, которая циклично вызывается. Код:
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
#include <iostream>
using namespace std;
void push(int*, int, int&);
void main() {
    int size=10,n;
    int& rsize=size;
    int* arr=new int[size];
    for (int i=0;i<size;i++) //заполнение массива
        arr[i]=i*i;
    for (int i=0;i<size;i++) 
        cout<<arr[i]<<"\n";
    do {                    //пока пользователь не введет 0, нужно записывать значения в массив по одному
        cout<<"enter n:\n";
        cin>>n;
        push(arr,n,rsize);  //ф-ция добавления элемента
        cout<<"Size is"<<size<<"\n";
        for (int i=0;i<size;i++) 
            cout<<arr[i]<<"\n";
    } while (n!=0);
    delete [] arr;
    system("pause");
}
 
void push(int* arr, int n,int& size) {
    size++;
    int* arr2=new int[size];        //создание копии исходного массива
    for (int i=0;i<size-1;i++)      //копирвоание элементов
        arr2[i]=arr[i]; 
    arr2[size-1]=n;                 //добавление нового элемента в конец
    delete [] arr;                  //удаляем исходный массив
    arr=new int[size];              //выделяем память под новый размер исходного массива
    for (int i=0;i<size;i++)        //копирвоание элементов
        arr[i]=arr2[i];
    delete [] arr2;                 //удаление вспомогательного массива
}
Проблемы:
1-Если вызывать функцию один раз (без цикла) получим на экран мусор, ХОТЯ через дебагер пошагово все нормально выводиться!! (картинка 2)
2-При следующем вызове функции вылетает окно с ошибкой... (картинка 1)
Миниатюры
Добавление записей в массив  
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru