Загрузка данных


#include <iostream>
using namespace std;
//3 номер лаба 6 вариант 1
int main() {
    int n;
    cin >> n;
    double *a = new double[n];
    for (int i = 0; i < n; i++) cin >> a[i];
    int cnt = 0;
    double pr = 1;
    cout << "Indices: ";
    for (int i = 0; i < n; i++) {
        if (a[i] < 1) {
            cnt++;
            pr *= a[i];
            cout << i << " ";
        }
    }
    cout << "\nCount: " << cnt << "\nProduct: " << pr;
    delete[] a;
    return 0;
}


Лабораторная работа №7 (Вариант 1)

Задание 1

Условие: Введите массив символов из 10 элементов. Замените символы-цифры на символ '*'.


#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char s[11];
    cin.getline(s, 11);
    for (int i = 0; i < 10; i++)
        if (s[i] >= '0' && s[i] <= '9') s[i] = '*';
    cout << s;
    return 0;
}
Задание 2

Условие: Дан массив символов. Заменить каждое вхождение «i» на «/i», а каждое вхождение «/i» на «#». Буква i может быть строчной или прописной.

```cpp
#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    for (size_t i = 0; i < s.length(); ) {
        if (s.substr(i, 2) == "/i") {
            s.replace(i, 2, "#");
            i++;
        } else if (s[i] == 'i' || s[i] == 'I') {
            s.replace(i, 1, s[i] == 'i' ? "/i" : "/I");
            i += 2;
        } else i++;
    }
    cout << s;
    return 0;
}

Задание 3

Условие: В заданной строке посчитать количество русских букв «А».
#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    int cnt = 0;
    for (char c : s) if (c == 'А') cnt++;
    cout << cnt;
    return 0;
}

Задание 4

Условие: В заданной строке заменить подряд идущие пробелы на один пробел.
#include <iostream>
#include <string>
using namespace std;

int main() {
    string s, r;
    getline(cin, s);
    bool sp = false;
    for (char c : s) {
        if (c == ' ') {
            if (!sp) r += c;
            sp = true;
        } else {
            r += c;
            sp = false;
        }
    }
    cout << r;
    return 0;
}

Задание 5

Условие: В заданной строке поменять местами первое и последнее слово. Разделители – пробелы.

```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    vector<string> w;
    string t;
    for (char c : s) {
        if (c == ' ') {
            if (!t.empty()) w.push_back(t), t.clear();
        } else t += c;
    }
    if (!t.empty()) w.push_back(t);
    if (w.size() > 1) swap(w[0], w.back());
    for (size_t i = 0; i < w.size(); i++)
        cout << w[i] << (i+1 < w.size() ? " " : "");
    return 0;
}