Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В программах часто требуется осуществлять ввод и вывод данных в определенном формате. Для этого обычно используются так называемые манипуляторы, основные из которых приведены в табл. 5.1. Некоторые из них имеют аргумент (тип). Для использования последних к программе требуется подключить заголовочный файл <iomanip.h>.
С помощью манипуляторов легко управлять представлением выводимой информации. В частности манипулятор setw (int n) удобен при формировании таблиц в циклах.
Например:
..........
cout<<setprecision (2); //две цифры после запятой
for (int i=0; i<10; i++)
cout<<setw (6) <<a[i]<<endl; //ширина поля – 6 цифр
..........
Таблица 5.1
Манипуляторы
Манипуляторы | Действия |
endl | Переход на новую строку при выводе |
dec | Вывод чисел в десятичной системе (действует по умолчанию) |
hex | Вывод чисел в шестнадцатеричной системе |
oct | Вывод чисел в восьмеричной системе |
setw (int n) | Устанавливает минимальную ширину поля в n символов |
setprecision (int n) | Устанавливает количество цифр после запятой при выводе вещественных чисел |
setfill (int n) | Устанавливает символ-заполнитель с кодом n; этим символом выводимое значение будет заполняться до необходимой ширины |
setbase (int n) | Устанавливает систему счисления n (2, 8, 10,16) |
Пример 1. Получить вещественную матрицу А(7,7), первая строка которой задается формулой a1j=2,13j+3,7, (j=1,..,7), вторая строка задается формулой , (j=1,..,7), а каждая следующая строка есть сумма двух предыдущих. Определить в четных столбцах матрицы А число элементов, не принадлежащих интервалу (5, 10), а в седьмой строке определить произведение отрицательных элементов в нечетных столбцах матрицы А.
Программа для решения данной задачи приведена в лист. 5.1.
Листинг 5.1. mass_1. сpp
#include <iostream.h>
#include <math.h>
#include <iomanip.h> // Включение заголовочного файла, подключающего
// манипуляторы
void main()
{
double a[8][8];
//Получение матрицы a
for(int i=1;i<8;i++)
for(int j=1;j<8;j++)
{
if(i==1) a[i][j]=2.13*j+3.7;
if(i==2) a[i][j]=j-29/(2+1.3/j);
if(i>2) a[i][j]=a[i-1][j]+a[i-2][j];
}
// Определение числа элементов в четных столбцах матрицы a,
// не принадлежащих интервалу (5,10)
int k=0;
for(int i=1;i<8;i++)
for(int j=1;j<8;j++)
if ((j%2==0)&&((a[i][j]<5)||(a[i][j]>10))) k++;
//Определение произведения отрицательных
//элементов нечетных столбцов в 7 строке матрицы a
double p=1;
for(int i=7,j=1;j<8;j++)
if((a[i][j]<0)&&(j%2==1)) p*=a[i][j];
//Вывод результатов вычислений
//Вывод матрицы a
cout<<"Матрица a:"<<"\n";
cout<<setfill('.') // Введение символов '.' в поле вывода
<<setprecision(4); //Установка точности вывода
for(int i=1;i<8;i++)
for(int j=1;j<8;j++)
{cout<<" "<<setw(8)<<a[i][j]; //Фоматирование вывода
if(j==7)cout<<"\n"; // Формирование строки
}
cout<<"\ nЧисло элементов в четных столбцах матрицы a,\n";
cout<< " не принадлежащих интервалу (5,10):" <<endl;
cout<<"k="<<k<<"\n";
cout<<"\ nПроизведение отрицательных элементов в 7 строке\n ";
cout<<" нечетных столбцов матрицы a:" <<endl;
cout<<"p="<<p;
}
Дата публикования: 2014-11-02; Прочитано: 546 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!