Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по летней практике за 1 курс (Аленка).docx
Скачиваний:
0
Добавлен:
09.11.2019
Размер:
922.33 Кб
Скачать

Int main() {

float x, y;

cin >> x;

F(x, y);

F(x);

cout << y;

cout<< endl;

cout << F(x);

return 0;

}

Результат работы программы:

V Функции-шаблоны, 12.

Использовать функции-шаблоны для работы с двумерными массивами арифметических типов данных.

Разработать шаблоны ввода и вывода массива, а также шаблон для решения основной задачи:

Подсчитать сумму элементов, расположенных на побочной диагонали.

Исходный код программы:

#include <iostream>

using namespace std;

template <typename T>

void inArr(int n, int m, T **a) {

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

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

cin >> a[i][j];

}

}

cout << endl;

}

template <typename T>

void printArr(int n, int m, T **a) {

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

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

cout << a[i][j] << " ";

}

cout << endl;

}

cout << endl;

}

template <typename T>

T f(int n, int m, T **a) {

int sum = 0;

for (int i = 0, j = m - 1; i < n && j >= 0 ; i++, j--) {

sum += a[i][j];

}

return sum;

}

Int main() {

int n, m;

int** a;

cin >> n >> m;

a = new int*[n];

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

a[i] = new int[m];

inArr(n, m, a);

printArr(n, m, a);

cout << f(n, m, a) << endl;

return 0;

}

Результат работы программы:

  1. Организация файлового ввода/вывода

I Работа с текстовыми файлами, 12.

Дан текстовый файл. Напечатать все строки, длина которых равна данному числу.

Исходный код программы:

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

Int main() {

ifstream in("input.txt");

ofstream out("output.txt");

int n;

cin >> n;

string s = "";

while(!in.eof()) {

char symbol;

in.get(symbol);

if(symbol == ' ') {

if(s.size() == n) {

out << s << endl;

}

s = "";

}

else s += symbol;

}

return 0;

}

Результат работы программы:

II Работа с текстовыми файлами, 12.

Даны два файла с одинаковым количеством компонент, компонентами которых являются символы. Выяснить, совпадают ли попарно их компоненты. Если нет, получить номер первого элемента, в котором эти файлы отличаются.

Исходный код программы:

#include <iostream>

#include <fstream>

using namespace std;

Int main() {

ifstream in1("input1.txt");

ifstream in2("input2.txt");

ofstream out("output.txt");

int l = 0, k = 0;

while(!in1.eof()) {

char symbol1, symbol2;

in1 >> symbol1;

in2 >> symbol2;

k++;

if(symbol1 != symbol2) {

out << k << endl;

l++;

break;

}

}

if(l == 0) {

out << "Vse sovpadaet";

}

return 0;

}

Результат работы программы:

первый тест

второй тест

III Работа с двоичными файлами, 12.

Создать файл, состоящий из n вещественных чисел. Вывести на экран все числа данного файла с четными порядковыми номерами, меньшие заданного числа.

Исходный код программы:

#include <iostream>

#include <fstream>

using namespace std;