C++ вычисление сложности алгоритма
,
1. стандартный алгоритм вычисления количества отрицательных элементов одномерного числового массива из тысячи элементов работает 0,01 сек. оцените время работы того же алгоритма на том же компьютере, если длина массива миллион элементов.
2. вычислите сложность поиска нулевых элементов в матрице размера мxn.
3. подсчитайте сложность алгоритма сложения двух двоичных чисел, при записи которых использовалось n-цифр.
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL,"russian");
int num;
cout << "Введите размер массива: ";
cin >> num;
int a[num];
int sum = 0;
cout << "Вводите элементы массива поочерёдно: " << endl;
for(int i = 0; i<num; i++)
{
cin >> a[i];
if(a[i]%5==0 && a[i]%2==0) // находим в массиве числа, кратные 5 и 2
{
sum = sum + 1;
}
}
cout << "Чётных чисел, кратных пяти и двум: " << sum << endl;
system("pause");
return 0;
}
Использовал массив структур.
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL,"russian");
float vesSum=0;
struct perevozka
{
int number;
string nazn;
string name;
float ves;
};
perevozka e[10] = {};
for(int i = 0; i<10; i++)
{
int a = 0;
string b, c;
float d = 0;
cout << "Введите номер перевозки, пункт назначения, наименование и вес для перевозки № ¹" << i+1 << endl;
cin >> a;
cin.ignore(32767, '\n');
getline(cin, b);
getline(cin, c);
cin >> d;
cin.ignore(32767, '\n');
e[i]= { a, b, c, d };
}
for(int i = 0; i<10; i++)
{
vesSum=vesSum+e[i].ves;
}
cout << "Суммарный вес: " << vesSum << " КГ";
system("pause");
return 0;
}
Ниже скриншот работы программы