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

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;

}

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

  1. Класс-контейнер вектор

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;