print(matrix)
with open('in.txt') as f:
matrix = [list(map(int, row.split())) for row in f.readlines()]
s = 0
for m in matrix:
s += sum(m)
print(s)
print(matrix)
/*Отсортировать список: пузырьковой, методом прямого выбора, и шейкерной сортировками. Подчситать кол-во сравнений и пересылок*/
#include <iostream>
#include <cstdlib>
#include <locale>
#include <conio.h>
#include <cstring>
#define SIZE 10
using namespace std;
void random_array(int arr[SIZE]);
void bubble_sort(int arr[SIZE], int &comparison, int &transfer);
void select_sort(int arr[SIZE], int &comparison2, int &transfer2);
int main()
{
setlocale(LC_ALL, "rus");
srand(time(0)); // при каждом новом запуске программы генерирует другие случайные числа
int array[SIZE];
int array2[SIZE];
memcpy(array2, array, sizeof(int)*SIZE);
int compar = 0;
int transf = 0;
int compar2 = 0;
int transf2 = 0;
random_array(array);
bubble_sort(array, compar, transf);
for (int i = 0; i <= SIZE-1; i++)
cout << array[i] << " ";
cout << "\n";
cout << "сравнений " << compar << endl;
cout << "пересылок " << transf << endl;
cout << "\n\n";
random_array(array2);
select_sort(array2, compar2, transf2);
for (int i = 0; i <= SIZE-1; i++)
cout << array2[i] << " ";
cout << "\n";
cout << "сравнений " << compar2 << endl;
cout << "пересылок " << transf2 << endl;
cout << "\n\n";
getch();
return 0;
}
void random_array(int array[SIZE])
{
cout << "исходный массив" << endl;
for (int i=0; i<SIZE; i++)
{
array[i] = rand()%100;
cout << array[i] << " ";
}
}
void bubble_sort(int array[SIZE], int &comparison, int &transfer)
{
cout << "\nпузырьковая сортировка" << endl;
for (int i = 0; i < SIZE-1; i++)
{
for (int j = SIZE-2; j >= i; j--)
{
comparison++; // инкремент сравнений
if (array[j] > array[j+1]) // если предыдущий элемент больше следующего
{
int temp = array[j]; //
array[j] = array[j+1]; // меняю их местами
array[j+1] = temp; //
transfer++; // инкремент пересылок
}
}
}
}
/*
1. Выбираем элемент с min значением и помещаем в a[0]
2. Снова выбираем элемент с min значением из оставшихся несортированных элементов и помещаем его в a[1]
3. И т.д., с каждым несортированным элементом, до конца.
*/
void select_sort(int array2[SIZE], int &comparison2, int &transfer2)
{
int min, temp;
cout << "\nсортировка методом прямого выбора" << endl;
for (int i = 0; i < SIZE-1; i++)
{
min = i; // присваивание min индекса минимального элемента
for (int j = i+1; j < SIZE; j++)
{
if (array2[j] < array2[min]) min = j; // если текущий элемент меньше минимального, запоминаю его индекс
}
if (min == i) continue;
temp = array2[i]; //
array2[i] = array2[min]; // меняю их местами
array2[min] = temp; //
transfer2++; // инкремент пересылок
}
comparison2 = ((SIZE * SIZE) - SIZE) / 2; // сравнений
}
#include <iostream>
#include <algorithm>
#include <iterator>
#include <conio.h>
#include <cstring>
using namespace std;
void outArray(int *arr, int size)
{
for (int n = 0; n < size-1; ++n)
cout << arr[n] << " ";
cout << arr[size-1] << endl;
}
int main()
{
const int size = 10;
int arr[size] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int arr2[size];
memcpy(arr2, arr, sizeof(int)*size);
outArray(arr, size);
outArray(arr2, size);
getch();
return 0;
}
#include <iostream>
#include <algorithm>
#include <iterator>
#include <conio.h>
using namespace std;
int main()
{
const int size = 10;
int arr[size] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int arr2[size];
arr2 = copy(begin(arr), end(arr));
cout << arr << endl;
cout << arr2 << endl;
getch();
return 0;
}