Используя набор данных "важнейшие судоходные каналы" составить таблицу в excel
Волго-Балтийский водный путь имеет ширину 25-120 м. Южный канал находится во Франции. Панамский канал построен в 1914 г. Суэцкий канал имеет длину 161 км. Кильский канал построен в 1895 г. Южный канал имеет глубину на фарватере 2 м. Великий (Даюньхэ) канал находится в Китае. Канал Рона-Рейн имеет длину 320 км. Беломоро-Балтийский канал находится в России. Панамский канал имеет ширину 150-305 м. Береговой канал имеет длину 5580 км. Южный канал имеет длину 241 км. Волго-Балтийский водный путь имеет длину 1100 км. Канал Рона-Рейн имеет ширину 25-100 м. Суэцкий канал находится в Египте. Панамский канал имеет длину 82 км. Береговой канал построен в 1972 г. Великий (Даюньхэ) канал имеет длину 1782 км. Волго-Балтийский водный путь имеет глубину на фарватере 4 м. Среднегерманский канал имеет ширину 30-40 м. Кильский канал имеет ширину 104-214 м. Беломоро-Балтийский канал имеет глубину на фарватере 5 м. Береговой канал находится в США. Суэцкий канал имеет глубину на фарватере 16 м. Панамский канал находится в Панаме. Панамский канал имеет глубину на фарватере 12 м. Кильский канал имеет длину 99 км. Беломоро-Балтийский канал построен в 1933 г. Береговой канал имеет ширину 40-60 м. Среднегерманский канал построен в 1938 г. Кильский канал имеет глубину на фарватере 11 м. Волго-Балтийский водный путь построен в 1810 г. Канал Рона-Рейн находится во Фран-
ции. Великий (Даюньхэ) канал имеет глубину на фарватере 2-3 м. Суэцкий канал имеет ширину 120-318 м. Среднегерман-ский канал находится в ФРГ. Южный канал построен в 1681 г. Канал Рона-Рейн имеет глубину на фарватере 2 м. Средне-германский канал имеет длину 325 км. Беломоро-Балтийский канал имеет длину 227 км. Береговой канал имеет глубину на фарватере 3-13 м. Великий (Даюньхэ) канал построен в 13 в. Южный канал имеет ширину 20 м. Волго-Балтийский водный путь находится в России. Среднегерманский канал имеет глубину на фарватере 3-6 м. Суэцкий канал построен в 1869 г. Великий (Даюньхэ) канал имеет ширину 40-350 м. Кильский канал находится в ФРГ. Канал Рона-Рейн построен в 1833 г.
Могу реализацию на питоне предложить, писать меньше, чем на c ++.
import random
a = []
count = 0
for i in range (20):
a.append(random.randint(1000)
for i in a:
if i % 2 == 0:
count += 1
print (count)
Примечания.
Там, где пробел между текстом и скобками, он не нужен (здесь просто без них написать не даёт). Так же нужно следить за отступами, чтобы компилятор не ругался. Если рандомный список вы всё-таки решите считывать, то меняете в первом цикле после append(int(input()).
Randint даёт рандомное число на указанном промежутке, если нужен промежуток больше, просто меняйте цифру в скобках. Count - счётчик.
Резюмирую:
1) Использование того, чего не понимаешь (6-8 строки)
2) Решение за O(N^2) при ограничении N < 10^5, что очень плохо
3) Нет проверки на выход за границы выделенной памяти (20, 22 строки)
4) Абсолютно неверная идея алгоритма: сравнивать только соседние элементы, да и еще и непонятно зачем делать во вложенном цикле + неверное написание тела цикла фор: полное непонимание того, как он работает и что делает
5) Нет проверки на то, использовали мы конкретное число уже или нет
Итог: полностью неверное решение, которое надо не менять, а стирать и переделывать.
Возможное решение на сотку:
#include <iostream>
#include <vector>
#include <map>
using namespace std;
signed main() {
map<int, int> cnt;
int n;
cin >> n;
vector<int> a(n), res;
for(auto &i: a){
cin >> i;
cnt[i]++;
}
for(auto &i: a){
if(cnt[i] > 1) res.push_back(i);
cnt[i] = 0;
}
if(res.empty()) cout << 0;
else for(auto &i: res) cout << i << " ";
}
P.S. Если что непонятно, то спрашивай - распишу поминутно кто где того самого