В каталог
Практическая лаборатория

C++

Алгоритмы, циклы и аккуратные фигурные скобки. Задания разделены по темам и сложности, а решения можно открыть после собственной попытки.

C++
easyВвод и вывод

Приветствие компилятора

Считайте имя и выведите: Привет, имя!

#include <iostream>
#include <string>
using namespace std;
int main() {
    string name;
    cin >> name;
    // вывод
}
cout << "Привет, " << name << "!";
easyУсловия

Максимум из двух

Вводятся два целых числа. Выведите большее. Если равны — любое из них.

#include &lt;iostream&gt;
using namespace std;
int main(){
    int a,b; cin &gt;&gt; a &gt;&gt; b;
    // решение
}
cout << (a > b ? a : b);
mediumЦиклы

Сумма кратных трём

Вводится N, затем N чисел. Найдите сумму чисел, кратных 3.

#include &lt;iostream&gt;
using namespace std;
int main(){
    int n,x,s=0; cin &gt;&gt; n;
    for(int i=0;i&lt;n;i++){
        cin &gt;&gt; x;
        // проверка
    }
    cout &lt;&lt; s;
}
if(x % 3 == 0) s += x;
mediumМассивы

Самый тяжёлый рюкзак

Вводится N и массы N рюкзаков. Выведите максимальную массу.

#include &lt;iostream&gt;
#include &lt;algorithm&gt;
using namespace std;
int main(){
    int n,x,mx; cin &gt;&gt; n &gt;&gt; mx;
    for(int i=1;i&lt;n;i++){
        cin &gt;&gt; x;
        // обновите максимум
    }
    cout &lt;&lt; mx;
}
mx = max(mx, x);
hardСтроки

Палиндром или кот развернулся

Вводится слово без пробелов. Выведите YES, если оно читается одинаково в обе стороны.

#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;algorithm&gt;
using namespace std;
int main(){
    string s; cin &gt;&gt; s;
    // решение
}
string r=s;
reverse(r.begin(),r.end());
cout << (s==r ? "YES" : "NO");
hardАлгоритмы

Двоичный поиск

В отсортированном массиве найдите индекс элемента x или выведите -1.

// Реализуйте двоичный поиск по массиву vector&lt;int&gt; a
int l=0,r=n-1,ans=-1;
while(l<=r){
 int m=(l+r)/2;
 if(a[m]==x){ans=m;break;}
 if(a[m]<x) l=m+1; else r=m-1;
}