Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2013, 21:44   #1
alhon
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 146
По умолчанию Как ввести массив с клавиатуры?

Доброе время соток. Такая проблема. Дан массив целых чисел. Выяснить является ли выбранный элемент массива положительным числом. Вот. Если этот массив объявлен, т.е. int mas[]={10, -5, 4, 8, -9};,, тогда легко
Код:
int mas[]={10, -5, 4, 8, -9};
	
	int k;
	cin >> k;
	if (mas[k - 1] > 0)
	{
		cout << "ne otricatelnoe";
	}
	else 
	{
		cout << "otricatelnoe";
	}

	_getch();
А вот если этот массив должен вводиться с клавиатуры. То тогда как это сделать? В интернете много примером, нго у меня в примерах, которые я нашёл, возникает одна и тажа проблема. Т.е. делается так
Код:
int *arr;
    int size,count=0;
    cout<<"Введите длину массива: ";
    cin>>size;
    arr = new int[size];
    cout<<"Массив: ";
Но как только я начинаю вводить «к»
Код:
int k;
cin >> k;
(код)
программа тутже завершаеться. Как буд-то «к» не существует и срабатывает _getch();
в чём проблема? и как сделать чтоб массив вводился с клавиатуры и всё работало.

начало примера брал отсюда http://www.cyberforum.ru/cpp-beginne...ead178089.html

Зарание спасибо.

Последний раз редактировалось ACE Valery; 28.05.2013 в 23:21.
alhon вне форума Ответить с цитированием
Старый 28.05.2013, 22:10   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Надо процедуру ввода засунуть в цикл:
Код:
......
unsigned int Size = 0;
cout << "Введите размер массива: ";
cin >> Size;
cin.sync();
int Array = new int[Size];
cout << "Ввод массива..."
for (int i = 0; i < Size; ++i)
{
    cout << "Введите " << i << " элемент массива: ";
    cin >> Array[i];
    cin.sync();
}
......
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 29.05.2013, 00:07   #3
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

+ нужно еще проверку на то, что введенная 'k' не вышла за пределы массива.
Igor95 вне форума Ответить с цитированием
Старый 29.05.2013, 17:29   #4
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Цитата:
Сообщение от Igor95 Посмотреть сообщение
+ нужно еще проверку на то, что введенная 'k' не вышла за пределы массива.
В условии цикла есть эта проверка. Цикл проходит Size - 1 итераций и не выйдет за пределы массива
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 31.05.2013, 22:00   #5
alhon
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 146
По умолчанию

Спасибо большое, я понял
alhon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести массив с клавиатуры. В полученном массиве найти минимальный элемент. Вывести его на экран ok57 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 17.05.2013 05:07
как на делфи написать прогу Ввести с клавиатуры целое число и определить делится ли оно нацело на9и на11 Buyaka Помощь студентам 8 02.01.2010 23:54
как ввести с клавиатуры двузначные и отрицательные числа - Assembler Варвара Помощь студентам 5 20.12.2009 14:29
как ввести числа с клавиатуры и запомнить их в переменные mandarinka27 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 18.05.2009 17:03