Поделитесь своими знаниями, ответьте на вопрос:
1. Напишите функцию для решения уравнений степени не выше второй (квадратные и линейные): если у функции три аргумента, их надо трактовать как a, b и c в уравнении ??2 + ?? + ? = 0; если два — как коэффициенты b и c в уравнении ?? + ? = 0; если один — как коэффициент c в уравнении ? = 0; если список коэффициентов пуст или коэффициентов больше трёх, то функция должна вернуть None. Функция возвращает список, содержаний все корни уравнения (два, один или ни одного Если корнем является любое значение x, функция возвращает список, содержащий символ «*» (["*"]).
Відповідь:
1.Дан массив из 8 элементов. Элементы вводятся с клавиатуры. Найти произведение четных элементов массива (четный элемент-если его номер делится на 2 с остатком 0)
#include <iostream>
using namespace std;
void cinarr(int *arr, const int SIZE){
int counter = 1;
for(int i = 0 ; i < SIZE ; i++){
cout << "Введите " << counter << " елемент: ";
cin >> arr[i];
counter++;
}
}
int sumev(int *arr,const int SIZE){
int sum = 0;
for(int i = 0 ; i< SIZE ; i++){
if(i % 2 != 0){
sum += arr[i];
}
}
return sum;
}
const int SIZE = 8;
int main() {
setlocale(LC_ALL , "Rus");
int arr[SIZE];
cinarr(arr,SIZE);
cout << "Сума парных елементов = " << sumev(arr,SIZE) << endl;
return 0;
}
2.Дан массив из 14 элементов. Элементы заполнены из промежутка 12;92. Найти сумму элементов
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(int *arr, const int SIZE){
for(int i = 0 ; i < SIZE ; i++){
arr[i] = rand() % 92 + 12;
}
}
void printarr(int *arr , const int SIZE){
for(int i = 0 ; i < SIZE ; i++){
cout << arr[i] << " ";
}
}
int sumelements(int *arr, const int SIZE){
int sum = 0;
for(int i = 0 ; i < SIZE ; i++){
sum += arr[i];
}
return sum;
}
const int SIZE = 14;
int main(){
setlocale(LC_ALL , "Rus");
srand(time(NULL));
int arr[SIZE];
randarr(arr,SIZE);
printarr(arr,SIZE);
cout << "\nСума всех елементов массива = " << sumelements(arr,SIZE) << endl;
return 0;
}
Пояснення: