#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;
}