Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
31.01.2021
Размер:
10.81 Кб
Скачать

Інформатика — Практика — Практичне заняття 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

Соседние файлы в папке content