Скачать презентацию Вводный курс в С Занятие 2 Олег Власенко Скачать презентацию Вводный курс в С Занятие 2 Олег Власенко

Вводный курс в С++ - лекция 2.ppt

  • Количество слайдов: 22

Вводный курс в С++ Занятие 2 Олег Власенко e-mail: oleg. vlasenko@simbirsoft. com Заместитель директора Вводный курс в С++ Занятие 2 Олег Власенко e-mail: oleg. vlasenko@simbirsoft. com Заместитель директора ООО Симбир. Софт Старший преподаватель Кафедра «Вычислительная Техника» Ул. ГТУ

Массивы в C++ // Ввод элементов массива int a[5]; cin >> a[0] >> a[1] Массивы в C++ // Ввод элементов массива int a[5]; cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4];

Массивы в C++ - ввод // Ввод элементов массива – ver 2 int a[5]; Массивы в C++ - ввод // Ввод элементов массива – ver 2 int a[5]; int i = 0; do { cin >> a[i]; ++i; } while (i <= 4);

Массивы в C++ - ввод // Ввод элементов массива – ver 3 int a[5]; Массивы в C++ - ввод // Ввод элементов массива – ver 3 int a[5]; int i = 0; while (i <= 4) { cin >> a[i]; ++i; }

Массивы в C++ - ввод // Ввод элементов массива – ver 4 int a[5]; Массивы в C++ - ввод // Ввод элементов массива – ver 4 int a[5]; for (int i = 0; i <= 4; ++i) cin >> a[i];

Массив – изменение элементов // Все элементы увеличить в 10 раз int a[5]; … Массив – изменение элементов // Все элементы увеличить в 10 раз int a[5]; … for (i = 0; i <= 4; ++i) a[i] *= 10; …

Массив – вывод элементов int a[5]; … cout << Массив – вывод элементов int a[5]; … cout << "Your array contains elements: " << endl; for (int i = 0; i <= 4; ++i) cout << a[i] << " "; …

Работа с функциями (1) int a[5]; void array_example() { input_array(); print_array(); encrease_array(); print_array(); } Работа с функциями (1) int a[5]; void array_example() { input_array(); print_array(); encrease_array(); print_array(); }

Работа с функциями (2) void input_array() { int i; cout << Работа с функциями (2) void input_array() { int i; cout << "Input 5 elements: " << endl; for (i = 0; i <= 4; ++i) cin >> a[i]; }

Работа с функциями (3) void print_array() { cout << Работа с функциями (3) void print_array() { cout << "Your array contains following elements: " << endl; for (int i = 0; i <= 4; ++i) cout << a[i] << " "; cout << endl; }

Работа с функциями (4) void encrease_array() { // Increasing a[i] *= 10 for (int Работа с функциями (4) void encrease_array() { // Increasing a[i] *= 10 for (int i = 0; i <= 4; ++i) a[i] *= 10; }

Возврат значений из функции (1) // минимум из двух значений (целых) int Min. Value(int Возврат значений из функции (1) // минимум из двух значений (целых) int Min. Value(int value 1, int value 2) { int min; if (value 1 < value 2) min = value 1; else min = value 2; }

Возврат значений из функции (2) // минимум из двух значений (целых) – вызов функции Возврат значений из функции (2) // минимум из двух значений (целых) – вызов функции void test_min() { int a = 10, b =15; cout << Min. Value(a, b) << endl; cout << Min. Value(3, 0) << endl; cout << Min. Value(11, 12), 10) << endl; }

Передача параметров по ссылке (1) // переставить 2 значения void Swap(int &value 1, int Передача параметров по ссылке (1) // переставить 2 значения void Swap(int &value 1, int &value 2) { int tmp = value 1; value 1 = value 2; value 2 = tmp; }

Передача параметров по ссылке (2) // переставить 2 значения – вызов функции void test_swap() Передача параметров по ссылке (2) // переставить 2 значения – вызов функции void test_swap() { int a = 10, b = 20, c = 30; cout << a << “ ” << b << “ ” << c << endl; Swap(a, b); cout << a << “ ” << b << “ ” << c << endl; Swap(a, c); cout << a << “ ” << b << “ ” << c << endl; }

Указатели … int a = 10; int *p = &a; cout << a << Указатели … int a = 10; int *p = &a; cout << a << endl; cout << *p << endl; a = 20; cout << a << endl; cout << *p << endl; *p = 30; cout << a << endl; cout << *p << endl;

Указатели и массивы … int a[5]; int *p = &a[0]; p = a; // Указатели и массивы … int a[5]; int *p = &a[0]; p = a; // a =&a[0] p = a + 1; // p = &a[1] *p = 10; // *(a+1) = 10 a[1] = 10 // a[2] = *(a+2) = *(2+a) = 2[a] // a[i] = i[a]

Указатели и массивы (2) – передача массива как параметра void Input. Array(int a[5]) { Указатели и массивы (2) – передача массива как параметра void Input. Array(int a[5]) { // = (int a[]) = (int *a) for (int i = 0; i <= 4; ++i) cin >> a[i]; } int Find. Min(int *a) { // = (int a[]) = (int a[5]) int min. El = a[0]; for (int i = 0; i < 5; ++i) if (a[i] < min. El) min. El = a[i]; return min. El; }

Задача по обработке массива (1) • Даны файл test 1. txt, содержащий две строки. Задача по обработке массива (1) • Даны файл test 1. txt, содержащий две строки. В первой – целое число N (1<=N<=100). Во второй строке – N целых чисел. • Нужно создать файл test 2. txt в котором должна быть 1 строка. Она должна содержать сумму всех N чисел из второй строки входного файла. Пример входа (Test 1. txt) 5 2 5 3 1 10 Пример выхода (Test 2. txt) 21

Задача по обработке массива (2) • Даны файл test 1. txt, содержащий две строки. Задача по обработке массива (2) • Даны файл test 1. txt, содержащий две строки. В первой – целое число N (1<=N<=100). Во второй строке – N целых чисел. • Нужно создать файл test 2. txt в котором также должно быть 2 строки. В первой строке число N, во второй N чисел. Вторая строка файла test 2. txt содержит упорядоченный по сумме цифр числа из второй строки файла test 1. txt Пример входа (Test 1. txt) 5 92 22 7 15 41 Пример выхода (Test 2. txt) 5 22 41 15 7 92

Задача по обработке массива (3) • Даны файл test 1. txt, содержащий две строки. Задача по обработке массива (3) • Даны файл test 1. txt, содержащий две строки. В первой – целое число N (1<=N<=100). Во второй строке – N целых чисел. • Нужно создать файл test 2. txt в котором также должно быть 2 строки. В первой строке число M, во второй M чисел. M – это количество простых чисел, среди загруженных из второй строки файла test 1. txt. Вторая строка файла test 2. txt содержит все простые числа, найденные в файле test 1. txt Пример входа (Test 1. txt) 8 23456789 Пример выхода (Test 2. txt) 4 2357

Вводный курс С++ Занятие 2 Олег Власенко e-mail: oleg. vlasenko@simbirsoft. com Заместитель директора ООО Вводный курс С++ Занятие 2 Олег Власенко e-mail: oleg. vlasenko@simbirsoft. com Заместитель директора ООО Симбир. Софт Старший преподаватель Кафедра «Вычислительная Техника» Ул. ГТУ