У цій главі зібрані задачі таких типів:
RandArr заповнити масив випадковими цілими числами.Якщо потрібний елемент не знайдено, функції повинні повертати число -1.
Умова пошуку може бути різною (від’ємне число, парне число, просте тощо). У “простому” варіанті ми змінюємо умову пошуку всередині функції. (Передавати умову як параметр теж можна, але це тема, яку зазвичай вивчають пізніше.)
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого
від’ємного елемента у масиві. Якщо від’ємний елемент не знайдено — повертає -1.
Напишіть програму, яка:
RandArr заповнює масив випадковими цілими числами;PrintArr виводить масив на екран;FindFirst знаходить індекс першого від’ємного елемента;#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void RandArr(int* arr, int n, int a, int b);
void PrintArr(int* arr, int n);
int FindFirst(int* arr, int n);
int main() {
srand((unsigned)time(0));
int a, b, n;
cout << "Введіть початок інтервалу a: ";
cin >> a;
cout << "Введіть кінець інтервалу b: ";
cin >> b;
cout << "Введіть кількість елементів масиву n: ";
cin >> n;
int* mass = new int[n];
RandArr(mass, n, a, b);
cout << "Згенерований масив: ";
PrintArr(mass, n);
int index = FindFirst(mass, n);
if (index == -1) {
cout << "Від'ємні елементи відсутні";
} else {
cout << "Перший від'ємний елемент: " << mass[index]
<< " з індексом " << index;
}
delete[] mass;
return 0;
}
void RandArr(int* arr, int n, int a, int b) {
for (int i = 0; i < n; i++) {
arr[i] = a + rand() % (b - a + 1);
}
}
void PrintArr(int* arr, int n) {
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int FindFirst(int* arr, int n) {
for (int i = 0; i < n; i++) {
if (arr[i] < 0) return i;
}
return -1;
}
arr[i] < 0, і є відповіддю — повертається i.-1.
Напишіть функцію int FindLast(int* arr, int n), яка знаходить індекс останнього
від’ємного елемента у масиві. Якщо від’ємних немає — повертає -1.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void RandArr(int* arr, int n, int a, int b);
void PrintArr(int* arr, int n);
int FindLast(int* arr, int n);
int main() {
srand((unsigned)time(0));
int a, b, n;
cout << "Введіть початок інтервалу a: ";
cin >> a;
cout << "Введіть кінець інтервалу b: ";
cin >> b;
cout << "Введіть кількість елементів масиву n: ";
cin >> n;
int* mass = new int[n];
RandArr(mass, n, a, b);
cout << "Згенерований масив: ";
PrintArr(mass, n);
int index = FindLast(mass, n);
if (index == -1) {
cout << "Від'ємні елементи відсутні";
} else {
cout << "Останній від'ємний елемент: " << mass[index]
<< " з індексом " << index;
}
delete[] mass;
return 0;
}
void RandArr(int* arr, int n, int a, int b) {
for (int i = 0; i < n; i++) {
arr[i] = a + rand() % (b - a + 1);
}
}
void PrintArr(int* arr, int n) {
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int FindLast(int* arr, int n) {
int lastIndex = -1;
for (int i = 0; i < n; i++) {
if (arr[i] < 0) lastIndex = i;
}
return lastIndex;
}
lastIndex починається з -1.lastIndex.lastIndex зберігається індекс останнього знайденого елемента (або -1).
Напишіть функцію int FindLastPrime(int* arr, int n), яка знаходить індекс останнього простого числа у масиві.
Для перевірки простоти використайте функцію IsPrime. Якщо простих чисел немає — повертає -1.
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
void RandArr(int* arr, int n, int a, int b);
void PrintArr(int* arr, int n);
bool IsPrime(int x);
int FindLastPrime(int* arr, int n);
int main() {
srand((unsigned)time(0));
int a, b, n;
cout << "Введіть початок інтервалу a: ";
cin >> a;
cout << "Введіть кінець інтервалу b: ";
cin >> b;
cout << "Введіть кількість елементів масиву n: ";
cin >> n;
int* mass = new int[n];
RandArr(mass, n, a, b);
cout << "Згенерований масив: ";
PrintArr(mass, n);
int index = FindLastPrime(mass, n);
if (index == -1) {
cout << "Прості числа відсутні";
} else {
cout << "Останнє просте число: " << mass[index]
<< " з індексом " << index;
}
delete[] mass;
return 0;
}
void RandArr(int* arr, int n, int a, int b) {
for (int i = 0; i < n; i++) {
arr[i] = a + rand() % (b - a + 1);
}
}
void PrintArr(int* arr, int n) {
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
bool IsPrime(int x) {
if (x <= 1) return false;
if (x == 2) return true;
if (x % 2 == 0) return false;
int r = (int)sqrt((double)x);
for (int i = 3; i <= r; i += 2) {
if (x % i == 0) return false;
}
return true;
}
int FindLastPrime(int* arr, int n) {
int lastIndex = -1;
for (int i = 0; i < n; i++) {
if (IsPrime(arr[i])) lastIndex = i;
}
return lastIndex;
}
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого парного числа у масиві. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього непарного числа у масиві. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого числа, що кратне 3. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього числа, що кратне 5. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого числа, що закінчується на 0. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього числа, що закінчується на 5. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого однозначного числа у масиві. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього двозначного числа у масиві. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого числа, що починається на цифру 1. Для знаходження першої цифри використати функцію FirstDig. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього числа, що починається на цифру 7. Для знаходження першої цифри використати функцію FirstDig. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого простого числа у масиві. Для перевірки використовувати функцію IsPrime. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього непростого числа у масиві. Для перевірки використовувати функцію IsPrime. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого числа Фібоначчі у масиві. Для перевірки використовувати функцію IsFib. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього числа Фібоначчі у масиві. Для перевірки використовувати функцію IsFib. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого числа, у якого сума цифр парна. Для обчислення суми цифр використати функцію SumDig. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindLast(int* arr, int n), яка знаходить індекс останнього числа, у якого сума цифр непарна. Для обчислення суми цифр використати функцію SumDig. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindLast; виводить знайдений елемент та індекс або повідомлення про відсутність.
Напишіть функцію з прототипом int FindFirst(int* arr, int n), яка знаходить індекс першого числа-паліндрома у масиві. Для перевірки використовувати функцію IsPal. Якщо елемент не знайдено — повертає -1.
Напишіть програму, яка: заповнює масив функцією RandArr; виводить масив функцією PrintArr; знаходить індекс функцією FindFirst; виводить знайдений елемент та індекс або повідомлення про відсутність.