Void main(). for( int i =0 ; i < 3; i++) { cout << '\n';{ int T[3][4]; for(int i =0; i < 3; i++) { cout << '\n'; for(int j=0; j < 4; j++) { T[i][j] = rand(); cout << T[i][j] << '' '';} } При вводе/выводе элементов многомерных массивов, должно быть организовано столько циклов перебора индексов сколько мерный массив. Причем, самый внешний цикл – цикл перебора самого левого индекса, а в самом вложенном цикле варьируется самый правый индекс. Ввод/вывод символьных массивов Ввод и вывод символьных массивов можно производить поэлементно, как и числовых массивов, то есть рассматривать символьный массив как набор отдельных символов. Синтаксис языка С++ допускает также обращение к символьному массиву целиком по его имени, а именно по адресу этого массива в оперативной памяти. При этом также допускается обращение к отдельным элементам – символам по их индексу в массиве. Объявим некоторый символьный массив: char text [80]; Следующие операторы позволяют произвести ввод символьных строк: 1) cin>>text; - символы извлекаютсяиз стандартного входного потока cin, и заносятся в оперативную память, по адресу text, ввод начинается от первого символа, отличного от пробела до первого обобщенного пробела. В конце строки в память помещается двоичный ноль. 2 ) cin.getline(text, n); - извлекаются из стандартного входного потока cin любые символы, включая и пробелы, и заносятся в оперативную память по адресу text. Ввод происходит до наступления одного из событий: прочитан n-1 символ или ранее появился символ перехода на новую строку ‘\n ’, (при вводе с клавиатуры это означает, что была нажата клавиша Enter). В последнем случае из потока символ ‘\n’ извлекается, но в память не помещается, а помещается в память символ конца строки ’\0’. 3) gets(text); - читается строка из стандартного потока (по умолчанию связанного с клавиатуры) и помещается по адресу text. Вводятся все символы до символа перехода на новую строку ‘\n’ (Enter ), который в память не записывается, а в конце строки помещает двоичный ноль ‘\0’. 4) scanf(''%s'', text); – из стандартного потока читается строка символов до очередного пробела и вводит в массив text. В конце помещается байтовый ноль. Если строка формата имеет вид ''%ns'', то считывается n непробельных символов. 5) scanf(''%nc'', text); – из стандартного потокавводятся n любых символов, включая и пробелы, и символ конца строки. Если стандартный входной поток связан с клавиатурой, все приведенные выше операторы, в основе которых лежат вызовы функций, останавливают программу до ввода строки символов. Вывод строки позволяют произвести следующие операторы: 1) сout << text; - выводит всю строку до байтового нуля в стандартный выходной поток cout,по умолчанию связанный с экраном дисплея. 2) puts(text); - выводит строку в стандартный поток и добавляет в завершении символ ‘\n’ – перехода на новую строку. 3) printf(''%s'',text); - выводит встандартный выходной поток всю строку; printf(''%ws'',text); - выводит всю строку в поле w,где w – целое число, количество текстовых позиций на экране для вывода символов. Если w больше числа символов в строке, то слева (по умолчанию) или справа (формат '' %-ws '') от строки выводятся пробелы. Если w меньше, чем количество выводимых символов, то выводится вся строка. printf(''%w.ns'',text); - выводит n символов строки в поле w; printf(''%.ns'',text); -выводит n символов строки в поле w = n;
|