Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.12.2018
Сообщений: 39
1

Ошибка в функции образования нового массива через квадратное уравнение

02.04.2019, 11:47. Показов 337. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Имеется следующая функция и компилятор выводит ошибку : error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive]

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int Work(int* M,int n, int* Q, int* Z, int a, int D, int k1, int k2, int h)
{
    int ur = pow(10, 38);
    cout << "Введите a";
    cin >> a;
    for(int i=0;i<n;i++)
    {
        for (int j=0; j<n;j++)
        {
            D = i * i - 4 * a * j;
            k1 = 0.5 * (-i - sqrt(D));
            k2 = 0.5 * (-j + sqrt(D));
            if (D>=0){
                if (k1 > k2) {
                    Z[h] = new int Z[k1];
                }
                else if (k2 > k1) {
                    Z[h] = new int Z[k2];
                }
            }
            else if (D<0)
            {
                Z[h] = new int Z[ur];
            }
        }
    }
    return Z[h];
}
В чём собственно проблема? До этого вводятся массивы и объявляются массивы, два из которых заполняются случайными числами - P[i] и Q[j]. Третий - Z[] с которым и проблема
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2019, 11:47
Ответы с готовыми решениями:

Решить квадратное уравнение через цикл
Решить квадратное уравнение, с помощью цикла. y = 5x^2 - 2x + 1 Промежутки - Шаг = 2

Структура функции. Квадратное уравнение.
Подскажите пожалуйста как написать функцию решения квадратного уравнение с помощью структуры...

Квадратное уравнение, где ошибка?
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;math.h&quot; using namespace std; int...

Как решается квадратное уравнение через ООП в Java?
Не могу понять как решать квадратные уравнение через ООП

5
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
02.04.2019, 12:00 2
Цитата Сообщение от yasonzah Посмотреть сообщение
C++
1
int ur = pow(10, 38);
- но многовато ли для int. Может лучше взять тип double.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
02.04.2019, 12:07 3
yasonzah, напишите условие задачи
0
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
02.04.2019, 12:12 4
На какую строку и параметры компилятор указывает?

Добавлено через 3 минуты
Цитата Сообщение от yasonzah Посмотреть сообщение
C++
1
Z[h] = new int Z[k1];
- здесь не надо [h] писать.

Добавлено через 39 секунд
Такая же ошибка в 18 и 23 строках.
1
0 / 0 / 0
Регистрация: 04.12.2018
Сообщений: 39
02.04.2019, 12:23  [ТС] 5
Заданные массивы P [N], Q [N] (N <20). Сформировать массив Z [N], каждый элемент которого равен большему из корней уравнения Z^2 + PiZ + Qi = 0, если дискриминант > = 0, и равен 10^38, если дискриминант <0.

Добавлено через 8 минут
Новое: error: expected ‘;’ before ‘Z’
Z = new int Z[k1];

C++ (Qt)
1
2
3
4
if (D>=0){
                if (k1 > k2) {
                    Z = new int Z[k1];
                }
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
02.04.2019, 14:28 6
Цитата Сообщение от yasonzah Посмотреть сообщение
Заданные массивы P [N], Q [N] (N <20). Сформировать массив Z [N], каждый элемент которого равен большему из корней уравнения Z^2 + PiZ + Qi = 0, если дискриминант > = 0, и равен 10^38, если дискриминант <0.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int N;
    cout << "N="; cin >> N;
 
    double*P = new double[N], D, eps=1e-9;
    double*Q = new double[N];
    double*Z = new double[N];
    
    cout << "Matrix P:\n";
    for (int i = 0; i < N; i++)
      {
      P[i]=rand()%19 - 9;
      cout << P[i] << "  ";
      }    
    
    cout << "\nMatrix Q:\n";
    for (int i = 0; i < N; i++)
      {
      Q[i]=rand()%19 - 9;
      cout << Q[i] << "  ";
      }
    
    cout << "\nMatrix Z:\n";
    for (int i = 0; i < N; i++)
    {
    D=P[i]*P[i]-4.*Q[i];
    if (D>-eps) Z[i]=max((-P[i]+sqrt(fabs(D)))/2.,(-P[i]-sqrt(fabs(D)))/2.);
    else Z[i]=1e+38;
    cout << Z[i] << "  ";
    }    
    cout << "\n";
    
    delete[]P;
    delete[]Q;
    delete[]Z;
system("pause");
return 0;
}
1
02.04.2019, 14:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2019, 14:28
Помогаю со студенческими работами здесь

Посчитать сумму элементов массива, при которых квадратное уравнение имеет решение
Дана матрица a (а1,а2,а3...аn) Найти сумму тех элементов,при которых уравнение X^2+3ax+5=0 Если...

Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения. Создать...

Квадратное уравнение - ошибка "syntax error, unexpected T_VARIABLE"
Помогите пожалуйста, не могу понять, в чем ошибка &quot;syntax error, unexpected T_VARIABLE&quot;, вот код :...

Квадратное уравнение методом хорд: ошибка "floating point division by zero"
Квадратное уравнение методом хорд в 102-й строке выбивает ошибку floating point division by zero,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru