- •Отчет о практике
- •II Простые действия со строками, 12.
- •III Сложные действия со строками, 12.
- •Int main() {
- •IV Преобразование символов в числа, 12.
- •Int main() {
- •Функции
- •I Разработка нерекурсивных функций, 12.
- •Int main(){
- •II Разработка рекурсивных функций, возвращающих значение, 12.
- •Int main() {
- •III Разработка рекурсивных функций, не возвращающих значений, 12.
- •Int main() {
- •IV Механизм перегрузки функций, 12.
- •Int main() {
- •V Функции-шаблоны, 12.
- •Int main() {
- •Организация файлового ввода/вывода
- •I Работа с текстовыми файлами, 12.
- •Int main() {
- •II Работа с текстовыми файлами, 12.
- •Int main() {
- •III Работа с двоичными файлами, 12.
- •Int main() {
- •Структуры
- •I Использовать структуру point для хранения координат точки, 12.
- •Int main() {
- •II Использовать структуру, содержащую члены-данные и члены-функции, 12.
- •Int main() {
- •Сортировки
- •Int main() {
- •Int main() {
- •Класс-контейнер вектор
- •Int main() {
- •Int main() {
- •Исключения
- •Int main() {
- •Список использованных источников
Int main() {
ifstream in("input.txt");
ofstream out("output.txt");
int n;
in >> n;
student a[100];
for (int i = 0; i < n; i++) {
in >> a[i].num >> a[i].fum >> a[i].name >> a[i].otch >> a[i].god;
for (int j = 0; j < 5; j++) {
in >> a[i].ocenky[j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++){
if ((a[i].fum < a[j].fum) || (a[i].fum == a[j].fum && a[i].god < a[j].god)){
student temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
cout << endl;
for (int i = 0; i < n; i++) {
out << a[i].num << " " << a[i].fum << " " << a[i].name << " " << a[i].otch << " " << a[i].god << " ";
for(int j = 0; j < 5; j++) {
out << a[i].ocenky[j] << " ";
}
out << endl;
}
return 0;
}
Результат работы программы:
II, 12.
Дана матрица размерности nxn, содержащая целые числа. Отсортировать диагонали матрицы параллельные побочной по возрастанию элементов алгоритмом Шелла.
Исходный код программы:
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <algorithm>
using namespace std;
void sort (int *a, int n) {
int step = n / 2;
while (step > 0){
for (int i = 0; i < (n - step); i++) {
int j = i;
while (j >= 0 && a[j] > a[j + step]) {
int temp = a[j];
a[j] = a[j + step];
a[j + step] = temp;
j--;
}
}
step = step / 2;
}
}
Int main() {
int n, l;
ifstream in ("input.txt");
in >> n;
int **a = new int *[n];
int *temp = new int [n];
for (int i = 0; i < n; i++) {
a[i] = new int [n];
for (int j = 0; j < n; j++) {
in >> a[i][j];
}
}
for (int k = 0; k < n*2; k++) {
l = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i + j == k) {
temp [l] = a[i][j];
l++;
}
}
}
sort (temp, l);
int s = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i + j == k) {
a[i][j] = temp [s];
s++;
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << a[i][j] << ' ';
}
cout << endl;
}
return 0;
}
Результат работы программы:
Класс-контейнер вектор
I, 12.
Дана последовательность целых чисел. Подсчитать количество максимальных элементов.
Исходный код программы:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
Int main() {
int n, l;
//ifstream in ("input.txt");
//in >> n;
cin >> n;
vector <int> a;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
a.push_back(x);
}
int maxium = *(max_element(a.begin(), a.end()));
int kol = 0;
for (int i = 0; i < n; i++) {
if (a[i] == maxium) {
kol++;
}
}
cout << kol;
return 0;
}
Результат работы программы:
II, 12.
Дана последовательность целых чисел. Вставить новый элемент после всех элементов, кратных своему номеру.
Исходный код программы:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;