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

Перезапись динамического массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Добавить в массив заданное число, если этого числа нет в массиве http://www.cyberforum.ru/cpp-beginners/thread1154462.html
Нужно 2 програмки: 1) добавляет в массив заданное* число, если этого числа нет в массиве 2) удаляет из массива числа, равные заданному* * - заданные числа вводятся с клавиатуры
C++ Как проверить по ссылке, создан ли объект? Добрый вечер. class A1{} A1 *p1; A1 *p2; ....... p1 = new A1(); p2 не создан Передаю ссылку на значения p1 и p2 в другой класс. http://www.cyberforum.ru/cpp-beginners/thread1154452.html
C++ Как заново начать ввод данных для новых вычислений
Прошу помочь. Срочно. Спасибо. Мы ввели cin>>a>>b>>c; Как заного считать a с первой строки ввода данных? Значения a,b,c каждый раз меняются
Переправить от клиента на сервер символ wchar_t C++
Надо переправить от клиента на сервер символ wchar_t bool send_data(wchar_t value) { //Send some data if( send(sock , value , wcslen ( (const wchar_t*)value ) , 0) < 0) { perror("Send failed : "); return false; }
C++ Рисуем квадрат рекурсией http://www.cyberforum.ru/cpp-beginners/thread1154432.html
Всем доброго времени суток . Нужно нарисовать заполненный квадрат используя рекурсию(без использования циклов ). Циклами я написал, а вот рекурсией ни как . Что подскажите? Вот код циклами : #include <iostream> using namespace std; void kub(int x,int y,int n); void main() { setlocale( LC_ALL,"Russian" );
C++ Определить попадание произвольной точки в заштрихованную область Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе. подробнее

Показать сообщение отдельно
lenar_lesnik
 Аватар для lenar_lesnik
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 7
22.04.2014, 19:54     Перезапись динамического массива
Вот фрагмент программы создания двоичного файла , мы задаем динамический массив, который должен использоваться в других пунктах, следовательно, не надо освобождать память, но при повторе этого пункта надо освободить память.
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
if (ch == '1')
        {
            system("cls");
            cin.clear();
            cin.sync();
            char ch1;
            cout << "Введите имя нового файла: ";
            getline(cin, FNAME);
            ifstream f(FNAME, ios_base::binary);
            bool e = f.fail();
            if (!e)
            {
                system("cls");
                cout << "Файл с таким именем существует!" << endl << "Хотите перезаписать файл (Y|N):" << endl;
                ch1 = _getch();
                if ((ch1 == 'y') || (ch1 == 'Y'))
                {
                    e = true;
                }
                else if ((ch1 == 'n') || (ch1 == 'N'))
                {
                    f.close();
                    break;
                }
            }
                if (e)
                {
                    f.close();
                    ofstream f(FNAME, ios_base::binary);
                    system("cls");
                    cout << "Введите количество элементов массива: ";
                    cin >> kol;
                    while (kol <= 0 || kol > 10 || cin.fail())
                    {
                        system("cls");
                        cin.clear();
                        cin.sync();
                        cout << "Введен недопустимое количество элементов!" << endl;
                        cout << "Введите количество элементов массива: ";
                        cin >> kol;
                    }
                    int *a = new int[kol];//тут мы задаем динамический массив
                    if (!a)
                    {
                        cout << "Память не выделена!";
                        break;
                    }
                    else
                    {
                        for (int i = 0; i < kol; i++)
                        {
                            system("cls");
                            cout << "Введите " << i + 1 << " элемент: ";
                            cin >> *(a + i);
                            while (cin.fail())
                            {
                                system("cls");
                                cin.clear();
                                cin.sync();
                                cout << "Введен неверный символ!" << endl;
                                cout << "Введите " << i + 1 << " элемент: ";
                                cin >> *(a + i);
                            }
                        }
                        for (int i = 0; i < kol; i++)
                            f.write((char *)&a[i], sizeof(int));
                        f.close();
                        cout << "Все элементы записаны в файл! Нажмите любую кнопку, чтобы выйти в меню!";
                        _getch();
                    }
                }
        }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru