1-1 Программирование С++ / html / modules / 016 / content / example2
.htmlІнформатика — Практика — Практичне заняття 2 Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаМасиви та покажчики : Практичне заняття 2Зміст курсу
Вступ
Теорія
Оголошення та звертання в одновимірних масивах
Оголошення та звертання до багатовимірних масивів
Масиви покажчиків
Практика
Практичне заняття 1
Практичне заняття 2
Поточна перевірка знань
Масиви і покажчики
Версія для друку
Практичне заняття 2 Приклад 1. До елементів матриці, що мають парні значення, додати число і вивести отриману матрицю в природному вигляді.
Перший варіант програмної реалізації - матриця описується явним способом і робота ведеться з її елементами.
// Робота ведеться без покажчиків
#include < iostream.h >
void main( )
{
int mat [2][3];
int і, j;
cout << " Введіть матрицю "<< endl;
for ( i = 0; i < 2; i++)
for ( j = 0; j < 3; j++)
cin >> mat [i] [j] ;
// Обробка і виведення матриці
cout << " Матриця mat " << endl;
for ( i = 0; i < 2; i++)
{
for ( j = 0; j< 3; j++)
{
if ( ( mat [i][j] /2 )*2 == mat[i][j])
mat[i][j] = mat[i][j] + 5;
cout << mat [i][j] << " ";
}
cout << endl; // Переведення рядка при виведенні матриці
}
}
Другий варіант програмної реалізації - матриця описана як масив покажчиків.
//Матриця описана як масив покажчиків.
#include < iostream.h >
void main ( )
{
int і, j, *pm[2];
cout << "Введіть матрицю "<< endl;
for ( i = 0; i < 2; i++)
for ( j = 0; j < 3; j++)
cin >> *( pm[i] + j );
cout << " Матриця МАТ "<< endl;
for ( i = 0; i < 2; i++)
{
for ( j = 0; j < 3; j++)
{
if ( *(pm[i] + j) / 2*2 == *( pm[i] + j ) )
*( pm [i] + j ) += 10;
cout << *( pm [i] + j) << " ";
}
cout << endl;
}
return 0;
}
У розглянутій програмі для виведення матриці можна використовувати інший вигляд оператора
:сout << ( (j == 0) ? '\t':' ') << *( pm[i]+j ) << ( (j == 2) ? '\n':' ') ;
Ім'я двовимірної матриці є покажчиком-константою на масив покажчиків-констант, кожний з якиx указує на початок відповідного рядка матриці, наприклад для матриці
mat [2] [2] маємо:
mat [0] - покажчик-константа на нульовий рядок матриці;
mat [1] - покажчик-константа на перший рядок матриці;
mat [2] - покажчик-константа на другий рядок матриці;
тобто: mat[0] == &mat[0][0];
mat[1] == &mat[1][0];
mat[2] == &mat[2][0];
Виведення матриці можна реалізувати в такий спосіб:
cout << mat [i] [j];
сout << *( mat [i] +j );
cout << *(* (mat +i )+j );.
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS