Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions T1/DokukinDm/Task1_0.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
d = input("Диаметр бака: ")
d = int(d)

h = input("Высота бака: ")
h = int(h)

S = input("Площадь окраски одной банкой: ")
S = int(S)

import math

quantity = (4*math.pi*d*h+(2*math.pi*d**2))/S
quantity = int(quantity)+1

print("Кол-во банок: ", quantity)
14 changes: 14 additions & 0 deletions T1/DokukinDm/Task1_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from random import random
r=5
arr = [0]*r

for i in range(r):
arr[i]=int(random()*50)
print(arr)

for i in range(r-1):
for j in range(i+1,r):
if arr[i]==arr[j]:
print("Есть одинаковые")
quit()
print("Все уникальны")
26 changes: 26 additions & 0 deletions T1/DokukinDm/Task1_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from random import random

def make_list(n, mk, mx):
t = []
for i in range(n):
b = int(random() * (mx - mk + 1)) + mk
t.append(b)
return t

def max_div(t):
b = max(t)
for i in t:
print('%.2f ' % (i/b), end='')
print()
print('max =', b)

print('Введите кол-во элементов, минимум и максимум через пробел')
print('(для завершения оставьте пустую строку)')
while 1:
print()
data = input()
if data == '': break
data = data.split()
mylist = make_list(int(data[0]), int(data[1]), int(data[2]))
print(mylist)
max_div(mylist)
10 changes: 10 additions & 0 deletions T1/DokukinDm/Task1_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
n1 = int(input("Введите целое число: "))
n2 = 0

while k1 > 0:
a = n1 % 10
n1 = n1 // 10
n2 = n2 * 10
n2 = n2 + a

print('"Обратное" ему число:',n2)
3 changes: 3 additions & 0 deletions T1/DokukinDm/Task1_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
s=input()
a=s.split()
print('*'.join(a))
40 changes: 40 additions & 0 deletions T2/DokukinDm/Task2_1.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include "stdafx.h"
#include <iostream>
#include <array>
using namespace std;
int main() {
int i;
array < int, 10 > arr1;
for (i = 0; i <= 10; i++) {
arr1[i] = i;
}
for (i = 0; i <= 10; i++) {
cout << arr1[i];
cout << endl;
}

int j;
int n;
cin >> n;
int *arr2 = new int(n);
for (j = 0; j <n; j++) {
arr2[j] = j + 1;

}
arr2 = arr2 - n;
for (j = 0; j < n; j++) {
cout << *arr2;
arr2++;
}

int k;
int arr3[10];
for (k = 0; k <= 10; k++) {
arr3[i] = i + 2;
}
for (k = 0; k <= 10; k++) {
cout << arr3[i];
cout << endl;
}
return 0;
}
10 changes: 10 additions & 0 deletions T2/DokukinDm/Task2_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
def is_prime (y):
res=True
a=int(pow(y, 0.5))
for i in range(2,a):
if y%i==0:
res=False
return(res)

b=int(input('Введите число'))
print(is_prime(b))
37 changes: 37 additions & 0 deletions T2/DokukinDm/Task2_2.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#include "stdafx.h"
#include <iostream>
#include <array>
using namespace std;
void fanc(int *a, int m);
void fanc(int *a, int m) {
for (int j = 0; j<=m; j++) {
if (j % 2 == 0) {
a[j] = a[j] * 2;
}
if (j % 2 == 1) {
a[j] = a[j] - 1;
}
}
}
int main() {
int i;
int n;
cout << "Введите размер массива";
cin >> n;
int *arr1 = new int[n];
for (i = 0; i <= n; i++) {
arr1[i] = i;
}
for (i = 0; i <= n; i++) {
cout << arr1[i]<<" ";
}
cout << endl;
fanc(arr1, n);
for (i = 0; i <= n; i++) {
cout << arr1[i]<< " ";

}
cout << std::endl;
return 0;
}

16 changes: 16 additions & 0 deletions T2/DokukinDm/Task2_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
def arithmetic (a,b,c):
if c == "+":
print(a, "+", b, "=", a+b )
elif c == "-":
print(a, "-", b, "=", a-b)
elif c == "/":
print(a, "/", b, "=", a/b)
elif c == "*":
print(a, "*", b, "=", a*b)
else:
print("Неверная операция ")

x=int(input("Введите 1-ое число "))
y=int(input("Введите 2-ое число: "))
z=input("Введите арифметическую операцию: ")
arithmetic (x,y,z)
23 changes: 23 additions & 0 deletions T2/DokukinDm/Task2_3.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() {
int arr[5] = { 1, 2, 3, 4, 5 };
std::cout << "массив:";
for (int &i : arr) {
cout << i << ", ";
}
cout << endl;

for (int &i : arr)
{
i *= 2;
}

cout << "Полученный массив:";
for (int &i : arr) {
cout << i << ", ";
}
cout << endl;
return 0;
}
14 changes: 14 additions & 0 deletions T2/DokukinDm/Task2_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
n = [ 1,3,-6,7,-5,6,-7,6,4,-9,7,-8,3 ]
f = 13
i = 0

while i<f:
if n[i]<0:
del n[i]
f = f-1
else:
i = i+1
print(n)
ar=n[0]* n[2]* n[5]

print("Произведение чисел равно:",ar)
25 changes: 25 additions & 0 deletions T3/DokukinDm/Task3.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include<iostream>
#include<chrono>
#include<array>
int main() {
std::size_t n;
std::cin >> n;
auto start = std::chrono::high_resolution_clock::now();
int* a = new int[n];
for (size_t i = 0; i < n; i++) {
a[i] = rand();
}
int temp;
for (size_t i = 0; i < n; i++) {
for (size_t j = i; j > 0 && a[j - 1] > a[j]; j--) {
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = a[j - 1];
}
}
auto finish = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed = finish - start;
std::cout << elapsed.count();
std::cin >> temp;
return 0;
}
16 changes: 16 additions & 0 deletions T3/DokukinDm/Task3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import timeit
import random
n = int(input())
start_time = timeit.default_timer()
a = []
for i in range(n):
b=random.randint(1,1000)
a.append(b)
for i in range(n):
for j in range(n):
if a[j]>a[i] :
t = a[j]
a[j] = a[i]
a[i] = t
elapsed = timeit.default_timer() - start_time
print(elapsed)
49 changes: 49 additions & 0 deletions T4/DokukinDm/Task4.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#include "stdafx.h"
#include <iostream>
#include <chrono>
int n;
int main() {
std::cout << "Введите размер массива";
std::cin >> n;
auto start = std::chrono::high_resolution_clock::now();
int *a = new int[n];
for (size_t i = 0; i < n; i++) {
a[i] = rand();
}
std::cout << "массив: " ;
for (int i = 0; i < n; i++) {
std::cout << a[i] << " ";
}
std::cout << std::endl;
int max = INT_MIN, min = INT_MAX;
for (int i = 0; i < n; i++) {
if (a[i] > max)
max = a[i];
if (a[i] < min)
min = a[i];
}
int *c = new int[max + 1 - min];
for (int i = 0; i < max + 1 - min; i++) {
c[i] = 0;
}
for (int i = 0; i < n; i++) {
c[a[i] - min] = c[a[i] - min] + 1;
}
int i = 0;
for (int j = min; j < max + 1; j++) {
while (c[j - min] != 0) {
a[i] = j;
c[j - min]--;
i++;
}
}
std::cout << "Отсортированный массив: ";
for (int i = 0; i < n; i++) {
std::cout << a[i] << " ";
}
std::cout << std::endl;
auto finish = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed = finish - start;
std::cout << "Время:" << elapsed.count();
return 0;
}
28 changes: 28 additions & 0 deletions T4/DokukinDm/Task4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import timeit
import random
import math
n = int(input("Введите количество элементов:"))
start_time = timeit.default_timer()
sec = []
c = []
for i in range(n):
new = random.randint(1,20)
sec.append(new)
print("Исходный массив:",sec)
maxV = max(sec)
minV = min(sec)
size = 4
count = math.floor((maxV - minV) / size) + 1
b = []
for i in range(count):
b.append([])
for i in range(n):
b[math.floor((sec[i] - minV) / size)].append(sec[i])
for i in range(count):
b[i] = sorted(b[i])
for i in range(count):
for j in range(len(b[i])):
c.append(b[i][j])
print("Отсортированный массив:",b)
elapsed = timeit.default_timer() - start_time
print(elapsed)
45 changes: 45 additions & 0 deletions T5/DokukinDm/Task5.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#include "stdafx.h"
#include <iostream>
#include <vector>
void Sort(std::vector<int>&);
void Sort(std::vector<int>& vec) {
int radix = 10;
bool max = false;
int tmp = 0, placement = 1;
while (!max) {
max = true;
std::vector<int> mas[10];
for (unsigned int i = 0; i < vec.size(); i++) {
tmp = vec[i] / placement;
mas[tmp%radix].push_back(vec[i]);
if ((max) && (tmp > 0)) max = false;
}
int a = 0;
for (int b = 0; b < radix; b++) {
std::vector<int> buck = mas[b];
for (int i = 0; i < buck.size(); i++) {
vec[a] = buck[i];
a += 1;
}
}
placement *= radix;
}
}
int main() {
std::vector<int> arr;
for (int y = 0; y < 30; y++) {
arr.push_back(rand());
}
std::cout << "Массив:"<<std::endl;
for (int i = 0; i < arr.size(); i++) {
std::cout << "arr[" << i << "] = " << arr[i] << "\n";
}
std::cout << std::endl;
Sort(arr);
std::cout << "Отсортированный массив:" << std::endl;
for (int i = 0; i < arr.size(); i++) {
std::cout << "arr[" << i << "] = " << arr[i] << "\n";
}
std::cout << std::endl;
return 0;
}
Loading