Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
1

Отрицательный размер массива

21.07.2012, 16:16. Просмотров 1125. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    int arrSize;
    int *ptr;
 
    cout << "Введите размер массива: ";
    cin >> arrSize;
 
    ptr = new int[arrSize];
 
    delete [] ptr;
 
 
    system("pause");   // во время выполнения не доходит до этой строчки
    return 0;
}
Ради интереса ввел отрицательное число. Понятно что размер массива не может быть меньше нуля.
Хочеться знать что происходит в программе когда пользователь введет отрицательный размер массива? И опасно ли это?
0
Миниатюры
Отрицательный размер массива  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2012, 16:16
Ответы с готовыми решениями:

Поставить элементы массива в следующем порядке: положительный, отрицательный, положительный, отрицательный и тд
2. Дан линейный массив из N элементов, в котором положительных и отрицательных элементов поровну....

Ввести размер массива с клавиатуры и передать этот размер в конструктор
Я создал массив объектов. И я хочу ввести размер этого массива с клавиатуры, и передать этот размер...

Почему размер файла отрицательный?
inttostr(sr.size) почему ответ отрицательный????? файл 2.3 гб ответ size показывается в байтах ...

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

3
Псевдослучайный
1934 / 1135 / 96
Регистрация: 13.09.2011
Сообщений: 3,204
21.07.2012, 16:28 2
По стандарту new[] принимает size_t, который беззнаковый, так что он просто попросит много памяти.
1
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
21.07.2012, 16:41  [ТС] 3
Цитата Сообщение от NoMasters Посмотреть сообщение
попросит много памяти
Значит массив все таки будет создаваться, просто очень большого размера?
0
Псевдослучайный
1934 / 1135 / 96
Регистрация: 13.09.2011
Сообщений: 3,204
21.07.2012, 16:46 4
Да
C++
1
2
3
4
5
6
#include <iostream>
int main()
{
        int i = -1;
        std::cout << (std::size_t)i << std::endl;
}
у меня выдает 18446744073709551615
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2012, 16:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти первый отрицательный элемент массива, сумму четных элементов массива
Одномерный массив А длиной N&lt;=50 заполнить случайными числами из диапазона . Составить программу...

После каждого элемента массива X вставить очередной отрицательный элемент массива Z
Даны два одномерных массива X(n) и Z( n). После каждого элемента массива X вставить очередной...

Заменить последний отрицательный элемент массива предпоследним элементом массива
1. Заменить последний отрицательный элемент массива предпоследним элементом массива.

Сформировать массив Y из элементов массива Х так, чтобы каждый отрицательный элемент массива Х дублировался
Сформировать массив Y из элементов массива Х так, чтобы каждый отрицательный элемент массива Х...


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

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

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