Предмет: Информатика, автор: ricard8

1. Заданы два целых числа. Определить, является ли среднее арифметическое этих чисел целым числом (C++)
2. Заданы целые числа a,b,c (a<>0). Выяснить, имеет ли уравнение ax^{2} + bx + c = 0 действительные корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет.(C++)
3. Задан массив целых чисел. Вычислить сумму нечетных и отрицательных элементов этого массива.(C++)
4. Задан массив целых чисел. Определить, является ли он упорядоченным по возрастанию. В случае отрицательного ответа определить порядковый номер первого элемента, нарушающего такую упорядоченность.(C++)


MaxLevs: Она может брать их из файла, например. Или иметь жестко прописанными в коде
MaxLevs: В задании не оговорено, что значит "задан массив", "задано число".
csharp: Тогда был бы указан массив из чисел или само число.
MaxLevs: И снова нет
MaxLevs: Я спрашиваю про способ представления
MaxLevs: А не про то, ограничен ли я по вводимым значениям
ricard8: какие числа не оговорено
csharp: Забавно, что для третьего задания приходится вводить ограничения на вводимые числа (>0) в силу языка, который даёт другой остаток от деления :) Или же я не знаю каких-то секретов
csharp: Оу, ложный вызов.
ricard8: я не могу ответить потому что в задании не сказано

Ответы

Автор ответа: MaxLevs
1

/*Так как способ ввода значений в программу не указан, сделал прямой ввод через код. Пример работы на рисунке 1*/


#include <iostream>

#include <clocale>

#include <cmath>

using namespace std;


int main(){

{ // Задание 1

int a = 17, b = 85; // Вставь свои числа

double avg = (a+b)/2.0;

cout << "1) Среднее арифметическое чисел " << a << " и " << b << " = " << avg << " - ";

if((int)avg != avg) cout << " НЕ";

cout << "целое число" << endl;

}


{ // Задание 2

int a = 1, b = 2, c = 1; // Вставь свои числа

int D = b*b - 4*a*c;

cout << "2) Для заданых a=" << a << " b=" << b << " c=" <<  c << "," << endl << "  ";

if(D > 0) {

 double x1 = (-b+sqrt(D))/(2*a);

 double x2 = (-b-sqrt(D))/(2*a);

 cout << " X1 = " << x1 << ", а X2 = " << x2;

}

else if (D == 0) {

 double x = (-b/(2*a));

 cout << "X = " << x;

}

else {

 cout << "корней нет";

}

cout << endl;

}


{// Задание 3

const int N = 10;

int arr[N] = {-3, 54, -63, 81, 8, 4, -3, -4, 3, 81};

int sum = 0;

cout << "3) В массиве |";

for (int i = 0; i < N; i++){

 cout << arr[i] << "|";

 if (arr[i] < 0 && arr[i] % 2 != 0)

  sum += arr[i];

}

cout << endl << "  сумма нечетных отрицательных чисел = " << sum << endl;

}


{// Задание 4

const int N = 10;

int K = -1;

int arr[N] = {1, 1, 0, 3, 5, 7, 13, 21, 33, 54};

bool flag = true;

cout << "4) Массив |";

for (int i = 0; i < N-1; i++){

 cout << arr[i] << "|";

 if(flag && arr[i] > arr[i + 1]){

  K = i + 1;

  flag = false;

 }

}

cout << endl << "  ";

if (!flag) {

 cout << "на " << K << " элементе НЕ";

}

cout << " упорядочен по возрастанию" << endl;

}


return 0;

}

Приложения:
Автор ответа: csharp
4

1.  Задание

#include <iostream>

using namespace std;

int main()

{

   double x, y;

   cout << "Введите два целых числа: " << endl;

   cin >> x >> y;

   if( (x + y)/2 - (int)(x + y)/2 != 0){

       cout << "Среднее арифметическое чисел " << x << " и " << y  << " - не целое число!"<< endl;

       }

   else cout << "Среднее арифметическое чисел " << x << " и " << y  << " - целое число!"<< endl;

   system("pause");

}

Вывод:

Введите два целых числа:                                                                              

8 2                                                                                                  

Среднее арифметическое чисел 8 и 2 - целое число!  

Введите два целых числа:                                                                              

7 2                                                                                                  

Среднее арифметическое чисел 7 и 2 - не целое число!  

2.  Задание

#include <iostream>

#include <math.h>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

double a, b, c, D, x1, x2, x0;

cout << "Введите a, b и с (ax^2 + bx + c): " << endl;

cin >> a >> b >> c;

if (a == 0) {

 cout << "Переменная a не должна равняться нулю!" << endl;

 return 0;

}

D = b * b - 4 * a*c;

if (D < 0) {

 cout << "Дискримнант (D) меньше нуля. Уравнение не имеет действительных корней!" << endl;

}

else if (D == 0) {

 x0 = -b / 2 * a;

 cout << "Дискримнант (D) равен нулю, то есть уравнение имеет единственный корень: " << x0 << endl;

}

else {

 x1 = (-b + sqrt(D)) / (2 * a);

 x2 = (-b - sqrt(D)) / (2 * a);

 cout << "Дискримнант (D) больше нуля. Уравнение имеет два корня: " << x1 << " и " << x2 << endl;

}

system("pause");

}

Вывод:  

Введите a, b и с (ax^2 + bx + c):                                                                    

1 3 -4                                                                                              

Дискримнант (D) больше нуля. Уравнение имеет два корня: 1 и -4

Введите a, b и с (ax^2 + bx + c):                                                                    

1 3 8                                                                                                

Дискримнант (D) меньше нуля. Уравнение не имеет действительных корней!

Введите a, b и с (ax^2 + bx + c):                                                                    

1 -4 4                                                                                                

Дискримнант (D) равен нулю, то есть уравнение имеет единственный корень: 2

3.  Задание

#include <iostream>

#include <math.h>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int m[10], _oddResult = 0, _mResult = 0, temp = 0;

for (int i = 0; i < 10; i++) {

 cout << "[" << i + 1 << " элемент] = ";

 cin >> m[i];

 if ((unsigned int)m[i] % 2 == 1) {

  _oddResult = _oddResult + m[i];

 }

}

for (int i = 0; i < 10; i++) {

 if (m[i] < 0) {

  _mResult = _mResult + m[i];

 }

}

cout << "\nСумма нечётных элементов: " << _oddResult << endl;

cout << "Сумма отрицательных элементов: " << _mResult << endl;

system("pause");

}

Вывод:

Если вводить от -1 до -10, то сумма нечётных -25, а сумма отрицательных -55

Если вводить от 1 до 10, то сумма нечётных 25, а сумма отрицательных 0

5.  Задание

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int m[10];

for (int i = 0; i < 10; i++) {

 cout << "[" << i + 1 << " элемент] = ";

 cin >> m[i];

}

for (int i = 0; i < 10; i++) {

 if (m[i] < m[i - 1]) {

  cout << i+1 << " элемент нарушает упорядоченность!" << endl;

 }

}

system("pause");

}

Вывод:

[1 элемент] = 1                                                                                      

[2 элемент] = 3                                                                                      

[3 элемент] = 2                                                                                      

[4 элемент] = 4                                                                                      

[5 элемент] = 5                                                                                      

[6 элемент] = 6                                                                                      

[7 элемент] = 7                                                                                      

[8 элемент] = 8                                                                                      

[9 элемент] = 10                                                                                      

[10 элемент] = 9                                                                                      

3 элемент нарушает упорядоченность!                                                                  

10 элемент нарушает упорядоченность!


Похожие вопросы
Предмет: Русский язык, автор: aeroful1337
Предмет: Алгебра, автор: daanasaparbekova20
Предмет: Алгебра, автор: olgataran563