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

правильно ли я сделал задание? - C++

Восстановить пароль Регистрация
 
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
19.06.2011, 20:01     правильно ли я сделал задание? #1
правильно ли сделано задание?

C++
1
2
3
4
5
6
7
8
9
10
11
12
//предположим, что указатель pa был определен в следующем выражении с использованием оператора new.
//как удалить указатель pa
// int *pa=new int[10]
#include <iostream>
using namespace std;
int main ()
{
    int *pa=new int [10]();
    delete [] pa;
 
    return 0;
}
второе задание сделать не знаю как
//Напишите программу, читающую со стандартного устройства ввода значения типа int и создающую из них вектор.
//Создайте массив того же размера, что и вектор, а затем скопируйте элементы вектора в массив

хотя бы первое задание сделал правильно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xENVYx
7 / 7 / 0
Регистрация: 12.06.2011
Сообщений: 16
19.06.2011, 20:07     правильно ли я сделал задание? #2
первое правильно

вот по второму заданию, но я хз, на сколько правильно, я сам только учу с++ =)):
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
#include <iostream>
#include <vector>
#include <cstddef>
 
using namespace std;
 
int main ()
{
    vector<int> ivec;
    int num;
 
    //записываем числа в вектор
    while(cin >> num)
        ivec.push_back(num);
    
    //записываем размер вектора в переменную
    size_t size = ivec.size();
    
    //создаем массив размером вектора
    size_t *ptr = new size_t[size];
    
    //копируем в массив значения вектора
    for(size_t ix=0; ix!=size; ++ix)
        ptr[ix]=ivec[ix];
 
    //для проверки выводим на экран значения массива
        for(size_t ix=0; ix!=size; ++ix)
            cout << *(ptr+ix) << " ";
        cout << endl;
 
        //чистим занимаемое место
                delete [] ptr;
 
    system("pause");
    return 0;
}
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
19.06.2011, 20:10     правильно ли я сделал задание? #3
xENVYx, если выделили память под массив, хорошо бы было ее очистить в конце выполнения программы.
xENVYx
7 / 7 / 0
Регистрация: 12.06.2011
Сообщений: 16
19.06.2011, 20:15     правильно ли я сделал задание? #4
Цитата Сообщение от Mиxaил Посмотреть сообщение
xENVYx, если выделили память под массив, хорошо бы было ее очистить в конце выполнения программы.
благодарю за подсказку, дописал
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
19.06.2011, 20:21     правильно ли я сделал задание? #5
2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
#include <cstddef>
 
int main()
{
    std::vector<int> v((std::istream_iterator<int>(std::cin)),
                        std::istream_iterator<int>());
 
    std::size_t n = v.size();
    int* a = new int[n];
 
    std::copy(v.begin(), v.end(), a);
    delete[] a;
 
    return 0;
}
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
19.06.2011, 20:26  [ТС]     правильно ли я сделал задание? #6
а что за тип данных такой вы пишите что в первом варианте, что во втором size_t, чем он отличается от int?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.06.2011, 20:28     правильно ли я сделал задание? #7
size_t ~ unsigned
Olejeg85
13 / 10 / 0
Регистрация: 27.03.2011
Сообщений: 164
19.06.2011, 20:35  [ТС]     правильно ли я сделал задание? #8
почему бы тогда не писать unsigned int, зачем усложнять и писать одни и те же типы под разными именами?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 20:37     правильно ли я сделал задание?
Еще ссылки по теме:

Правильно ли я сделал пример C++
C++ Архитектура программы. Правильно ли сделал?
C++ Правильно я сделал программу по уравнению?

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.06.2011, 20:37     правильно ли я сделал задание? #9
Это не int, а long/long long(зависит от ос)
Yandex
Объявления
19.06.2011, 20:37     правильно ли я сделал задание?
Ответ Создать тему
Опции темы

Текущее время: 04:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru