Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по программ(мои).doc
Скачиваний:
19
Добавлен:
01.03.2025
Размер:
970 Кб
Скачать
☆

Билет 28

1.Многомерные массивы, способы описания, инициализация.

Многомерные массивы - это массивы с более чем одним индексом.Чаще всего используются двумерные массивы.

При описании многомерного массива необходимо указать C++, что массив имеет более чем одно измерение.

int t[3][4];

Описывается двумерный массив, из 3 строк и 4 столбцов.

Следующий фрагмент программы предназначен для ввода по строкам двумерного массива элементов типа double размером n строк на m столбцов

for (i=0; i<n; i++)  

   for (j=0; j<m; j++)  

   {  

      printf("a[%d][%d] = ", i, j);  

      scanf ("%lf", &a[i][j]);  

   }  

Программа, которая инициализирует массив и выводит его элементы на экран.

#include <iostream.h>

main ()

{

int a[3] [2]={

{1,2}, {3,4}, {5,6}

};

int i,j;

for (i=0; i<=2; i++)

for(j=0;j<=l;j++)

cout <<"\n a["<< i <<"," << j <<"] ="<< a[i]|j];

return 0;

}

При передаче массива в функцию всегда происходит передача его адреса. Т.е. в C++ все массивы передаются по адресу.

2.Режимы открытия и модификации файла.

Для доступа к файлу применяется тип данных FILE.

Прототип функции открытия файла выглядит следующим образом:

FILE *fopen(const char *path, const char *mode);

Здесь path - путь к файлу (например, имя файла или абсолютный путь к файлу), mode - режим открытия файла. Строка mode может содержать несколько букв. Буква "r" (read) означает, что файл открывается для чтения (файл должен существовать). Буква "w" (write) означает запись в файл, при этом старое содержимое файла теряется, а в случае отсутствия файла он создается. Буква "a" (от слова append) означает запись в конец существующего файла или создание нового файла, если файл не существует.

В некоторых операционных системах имеются различия в работе с текстовыми и бинарными файлами (к таким системам относятся MS DOS и MS Windows; в системе Unix различий между текстовыми и бинарными файлами нет). В таких системах при открытии бинарного файла к строке mode следует добавлять букву "b" (от слова binary), а при открытии текстового файла -- букву "t" (от слова text). Кроме того, при открытии можно разрешить выполнять как операции чтения, так и записи; для этого используется символ + (плюс). Режим - определяет, каким образом файл будет открыт. Ниже в таблице показаны допустимые значения режимов.

r Открыть текстовый файл для чтения

w Создать текстовый файл для записи

a Добавить в конец текстового файла

# include <stdio.h>

# include <stdlib.h>

/**/

Main()

{

FILE *fp;

Clrscr();

if ((fp = fopen("test", "w")==NUL)

{

cprintf("Ошибка при открытии файла.\n\r")"

gench();

}

Cprintf("Открытие файла прошло успешно.\n\r");

gench();

  1. }

3.Перегруженные конструкторы.

В C++ допускается использование перегруженных функций. Под перегрузкой понимается создание нескольких прототипов функции, имеющих одинаковое имя. Компилятор различает их по набору аргументов.

Перегруженные функции оказываются весьма полезными, когда одну и ту же операцию необходимо выполнить над аргументами разных типов. Перегрузка функций C++ позволяет программам определять несколько функций с одним и тем же именем. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров.

#include <iostream.h>

void EnterDigit (char *str , int &i){

cout<<str;

cin>>i;

}

void EnterDigit (char *str , double &i){

cout<<str;

cin>>i;

}

void main(){

int i;

double d;

//Вызов версии void EnterDigit (char *str , int &i)

// так как второй параметр имеет тип int

EnterDigit("Enter an integer :",i);

//Вызов версии void EnterDigit (char *str , int &i)

// так как второй параметр имеет тип double

EnterDigit("Enter a double :",d);

//Вывод результатов на экран

cout<<i<<" "<<d;

}