Это так называемое олимпиадное подключение библиотек, этот заголовок bits/stdc++ подключает сразу набор библиотек, почти всех которые необходимы их там штук под 100, почти весь STL + некоторые старые Си либы, это удобно на олимпиадном программировании, когда нету времени подключать библиотеки вручную, тк это тратит время, но если вам это не критично лучше подключать ручками, те которые нужны, а не тащить за собой мешок ненужных игрушек. Hу и конечно подключение стольких хедеров влечет за собой длительную первую компиляцию порядка 10-15 сек (зависит от ПК) последующие конечно быстрее будут, но нужно ли это вам? ну и конечно, код становится хуже переносимым, при использовании данного заголовка
bar02
04.12.2021
#include <iostream> using namespace std;
struct link { double data; link* next; };
link* first = NULL;
void additem(int d) // добавление элементов список { link* newlink = new link; newlink->data = d; newlink->next = first; first = newlink; }
void display() // вывод на экран { link* current = first; while(current) { cout << current->data << " "; current = current->next; } }
int max() // max { link* current = first; int m=0; while(current) { if (current->data > m) m = current->data; current = current->next; } return m; }
void norm(int m) // нормализация { link* current = first; while(current) { current->data /= m; current = current->next; } }
int main() { int n=10; int a; for (int i=1; i<n; i++) { cin >> a; additem(a); } display(); cout << endl << max() << endl; norm(max()); display(); }
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,0,1); a.Println(2); Writeln(2*a.ColCount*'-'); var b:=a.ElementsByRow.Where(x->x=1).ToArray; var k:=b.Count; b.Println; Writeln('k=',k) end.