Смекни!
smekni.com

Одномерные и двумерные массивы (стр. 3 из 3)

1.17 Просмотр указателей в отладчике

Для указателя ptri, определенного, как

int i = 4, *ptri;

ptri = &i;

окно просмотра в отладчике по Alt-F4 имеет вид

Таблица.1.

8FAC:FFF2 п Ds:FFF4
[0] 4(0x0004)
int *

Здесь указаны:

· адрес самой переменной ptri, равный 8FAC:FFF2;

· значение этой переменной Ds:FFF4;

· а также содержимое ячейки по адресу Ds:FFF4, т.е. значение i.

Для того, чтобы узнать содержимое ячеек, окружающих переменную i, нужно воспользоваться комбинацией клавиш Alt-I, ввести начальный индекс (Starting index) и число ячеек (Count). Если, например, введены числа -5 и 15, то можно в приведенном выше окне можно просмотреть элементы массива
ptri[-5], ptri[-4],… ,ptri[10].

1.18 Контрольные вопросы

1. Как определить размер одномерного массива?

2. Какие размеры можно опустить у массива при его инициализации?

3. Нарисуйте схему ОЗУ при выходе за диапазон массива intA[3][4] в случае логической ошибке A[3][4] = 0;

4. Определите смещение в байтах элемента A[i][j] относительно начала массива floatA[4][5].

5. Напишите программу, в которой находится сумма элементов первой и последней строки и столбца матрицы A[m][n].

6. Объявлены переменные

char c;

int *pi;

float **ppf;

Укажите типы и базовые типы выражений, если они существуют

&c, *(&c), &pi[0], &(p+10), &&ppf, ppf[10], (*ppf)[3]

7. Имеется указатель

int n=5, m=20;

int *const pi = &n;

Какие операторы синтаксически неверны

*pi = 10;

pi = &m;

*pi++;

(*pi)++;


2. Лабораторные задания

2.1 Скалярное произведение

Напишите функцию, которая находит скалярное произведение двух векторов.

2.2 Минимакс

Две функции находят построчный минимакс и построчный максимин элементов прямоугольной матрицы целых чисел. Под построчным минимаксом понимается минимальное из максимальных элементов во всех строках матрицы.

2.3 Массивы строк

Напишите функцию, которая объединяет массив строк в одну строку, а также тест этой функции.

2.4 Трехмерный массив

Найдите сумму элементов трехмерного массива с использованием только указательной арифметики.


3. Дополнительные задания

1. Написать функцию, которая добавляет строку к массиву строк.

2. Написать функцию, которая преобразует в текст денежную сумму.


Библиографический список

1. Керниган Б. Язык программирования Си / Б. Керниган, Д. Ритчи. СПб.: Невский диалект, 2001. 352 с.

2. Подбельский В.В. Программирование на языке Си / В.В. Подбельский, С.С. Фомин. М.: Финансы и статистика, 2004. 600 с.

3. Программирование в Си. Организация ввода–вывода: метод указания / сост. С.П. Трофимов. Екатеринбург: УГТУ, 1998. 14 с.

4. Программирование в Си. Динамическое распределение памяти: метод. указания / сост. С.П. Трофимов. Екатеринбург: УГТУ, 1998. 13 с.