М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
yliya302
yliya302
05.04.2022 17:57 •  Информатика

1. Введите с клавиатуры в массив десять вещественных значений. Выведите их в одну строку через пробел. Отсортировать по убыванию и вывести полученный массив на экран. 2. Составьте программу упорядочения по убыванию элементов каждого столбца двумерного массива C[1.5, 1..6]. Массив заполнен случайными целыми числами от -20 до 20
решить эти две задачи по PascalABC
с алгоритма и программ с использованием методов внутренней сортировки.

👇
Открыть все ответы
Ответ:
Var
  a, b, c, d: real;
begin
  write('Введите коэффициенты a,b,c ');
  readln(a, b, c);
  d := sqr(b) - 4 * a * c;
  if d = 0 then
    writeln('Корень один x = ', (-b / (2 * a))
    else if d >0 then
      writeln('x1 = ',(-b + sqrt(d)) / (2 * a), ' x2 = ',(-b - sqrt(d)) / (2 * a))
    else writeln('Действительных корней нет');
end.

Тест №1

Введите коэффициенты a,b,c 1 -5 6
x1 = 3 x2 = 2

Тест №2

Введите коэффициенты a,b,c 1 2 3
Действительных корней нет

Тест №3

Введите коэффициенты a,b,c 1 0 0
Корень один x = 0
4,5(70 оценок)
Ответ:
#include <iostream>
#include <string>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned short int USI;

int* fillArray(string name, int s);
int maxArray(int[], int s);
bool isPrime(int);
void deleteAllEqualTo(int[], int s, int value);
float averageOfPositive(int[], int s);
void printArray(int[], int s);

bool sortByDescAbs(int i, int j) {
return abs(i) > abs(j);
}

int main() {
setlocale(LC_ALL, "Russian");
USI n;
cout << "n = ";
cin >> n;
int* z = fillArray("z", n);
int max = maxArray(z, n);
if ( isPrime(max) ) {
deleteAllEqualTo(z, n, max);
}
float avg = averageOfPositive(z, n);
cout << "среднее: " << avg << '\n';
sort(z, z + n, sortByDescAbs);
cout << "z[" << n << "]: ";
printArray(z, n);
return 0;
}

int* fillArray(string name, int s) {
int array[s];
for (int i = 0; i < s; i++) {
cout << name << "[" << i << "] = ";
cin >> array[i];
}
return array;
}

int maxArray(int a[], int s) {
int max = a[0];
for (int i = 1; i < s; i++) {
if (a[i] > max) max = a[i];
}
return max;
}

bool isPrime(int n) {
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int i = 3; (i*i) <= n; i += 2) {
if (n % i == 0 ) return false;
}
return true;
}

void deleteAllEqualTo(int a[], int s, int value) {
for (int i = 0; i < s; i++) {
if (a[i] == value) a[i] = 0;
}
}

float averageOfPositive(int a[], int s) {
unsigned int sum = 0,
count = 0;
for (int i = 0; i < s; i++) {
if (a[i] > 0) {
sum += a[i];
count++;
}
}
return (sum / count);
}

void printArray(int a[], int s) {
for (int i = 0; i < s; i++) {
cout << a[i] << ' ';
}
}
4,5(29 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ