Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ввод массивов



Ввод массивов также осуществляется с помощью циклических алгоритмов.

Простейший алгоритм ввода значений элементов одномерного массива может выглядеть так:

const int n = 10;

short A[n];

cout << "Введите " << n << " целых чисел: \n"

for (int i = 0; i < n; ++i)

cin >> A [i];

cin.sync(); // Очистка потока ввода от возможных лишних введенных чисел

В этом фрагменте ввод значений элементов массива можно осуществлять и в виде строки целых чисел, разделенных пробелами или символами табуляции, и по одному значению с помощью клавиши Enter. Обратите внимание на последнюю строку этого фрагмента. Эта инструкция очищает поток ввода от оставшихся в нем данных. Если в потоке ввода после окончания цикла останутся какие-либо данные (например, мы ввели не 10 требуемых значений, а ошибочно 11 чисел), то следующие за циклом инструкции ввода возьмут их из потока, что может привести к неправильной работе программы.

Следующий фрагмент обеспечивает ввод значений элементов массива с указанием номеров вводящихся элементов:

const int n = 10;

short A[n];

cout << "Введите " << n << " целых чисел: \n"

for (int i = 0; i < n; ++i)

{

cout << i + 1 << ": ";

cin >> arr[i];

cin.sync(); // Очистка потока ввода от возможных лишних введенных чисел

}

При заполнении двумерных массивов ввод значений элементов лучше осуществлять в табличной форме:

const int n = 10, m = 5;

short A [n] [m];

cout << "Введите " << n << " строк из "<< m << " целых чисел: \n"

for (int i = 0; i < n; ++i)

{

cout << "Строка " << i + 1 << ": ";

// Вводим поэлементно значения i-й строки массива

for (int j = 0; j < m; ++j)

cin >> A [i] [j];

// Очищаем поток ввода от возможных лишних введенных чисел





Дата публикования: 2014-11-26; Прочитано: 154 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.073 с)...