Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
1

Подскажите, в чем ошибка?

14.09.2016, 18:31. Просмотров 296. Ответов 18
Метки нет (Все метки)

,,,
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2016, 18:31
Ответы с готовыми решениями:

подскажите в чем ошибка
только сегодня начал знакомство и вот уже проблемка)подскажите пожалуйста в чем ошибка)) Две...

Подскажите в чем ошибка
Не могу понять вроде все правильно а не запускается #include <iostream> #include <stdlib.h>...

Подскажите, в чем ошибка
#include<stdio.h> #include<cmath> using namespace std; int main() { int n,a,b,c,d,t; ...

Подскажите в чем ошибка
Не могу понять в чем ошибка #include <iostream> #include <math.h> #include <stdio.h> ...

Подскажите в чем ошибка
Вывести матрицу из 20 элементов целого типа. Определить каких элементов больше четных или нечетных...

18
_Ivana
4111 / 1900 / 238
Регистрация: 01.03.2013
Сообщений: 5,155
Записей в блоге: 22
14.09.2016, 18:34 2
Конечно же ошибка вот в чем:
C++
1
cout << "Determinant is equel to zero!" << endl;
а надо так:
C++
1
cout << "Determinant is equal to zero!" << endl;
Хотя гуру языка меня поправят наверное на вариант типа такого:
C++
1
cout << "Determinant equals by zero!" << endl;
1
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
14.09.2016, 18:42  [ТС] 3
в самом коде проблема.. ее не могу найти
0
castaway
Эксперт С++
4945 / 3051 / 455
Регистрация: 10.11.2010
Сообщений: 11,146
Записей в блоге: 10
Завершенные тесты: 1
14.09.2016, 18:43 4
_Ivana, а может так:
C++
1
cout << "The determinant is zero!" << endl;
?

Добавлено через 42 секунды
Цитата Сообщение от El_i_z_a_b_e_th Посмотреть сообщение
в самом коде проблема.. ее не могу найти
Разве это проблема? Я вот код не могу найти!
1
14.09.2016, 18:43
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
14.09.2016, 18:44  [ТС] 5
castaway, подскажите, что у меня в коде не так?

Добавлено через 23 секунды
castaway,
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
double determ(double** A, int size, double acc = 1, int p = 0)
{
    for (int k = 0; k < size; k++)
    {
        int max = k;
        for (int i = k; i < size; i++)
        {
            if ((double)fabs(A[i][k])>(double)fabs(A[max][k]))
            {
                max = i;
            }
        }
        if (A[k][k] == 0) 
        {
            cout << "Determinant is equel to zero!" << endl;
            return 0;
        }
        else if (A[k]!=A[max])
        {
            double *tmp;
            for (int i = 0; i < size; i++)
            {
                tmp = A[k];
                A[k] = A[max];
                A[max] = tmp;
            }
            p++;
        }
        for (int i = k + 1; i < size; i++)
        {
            double val = (A[i][k] / A[k][k]);
            for (int j = k; j < size; j++)
            {
                A[i][j] -= A[k][j] * val;
            }
        }
    }
 
    for (int i = 0; i<size; i++) 
        acc *= A[i][i];
    return acc*pow(-1, p);
}
0
HelicopterK52
14.09.2016, 18:44
  #6

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
Хотя гуру языка меня поправят
ага
C++
1
cout << "Determinant must be zero!" << endl;
:D

0
_Ivana
4111 / 1900 / 238
Регистрация: 01.03.2013
Сообщений: 5,155
Записей в блоге: 22
14.09.2016, 18:46 7
castaway, онлайн переводчик с вами согласен, хотя думаю тут могут быть разные варианты перевода. Например в вашем случае слово "равен" опущено, хотя его можно было оставить и выделить явно. А вот определенный артикль действительно кстати.
0
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
14.09.2016, 18:47  [ТС] 8
_Ivana, не в переводе дело
0
HelicopterK52
809 / 233 / 34
Регистрация: 27.07.2016
Сообщений: 497
Записей в блоге: 1
Завершенные тесты: 1
14.09.2016, 18:48 9
Цитата Сообщение от El_i_z_a_b_e_th Посмотреть сообщение
не в переводе дело
А в чем тогда? Мы не в курсе что у Вас там не так.
0
_Ivana
4111 / 1900 / 238
Регистрация: 01.03.2013
Сообщений: 5,155
Записей в блоге: 22
14.09.2016, 18:49 10
El_i_z_a_b_e_th, вы же просили найти ошибки, я нашел самую явную, а вы говорите - не в этом дело...
0
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
14.09.2016, 18:52  [ТС] 11
HelicopterK52, у меня в задании нужно помимо написания программы еще определить время выполенения алгоритма. я думала, что может в коде ошибка, просто для матрицы одной и той же размерности разное время выполения
0
HelicopterK52
809 / 233 / 34
Регистрация: 27.07.2016
Сообщений: 497
Записей в блоге: 1
Завершенные тесты: 1
14.09.2016, 18:58 12
Цитата Сообщение от El_i_z_a_b_e_th Посмотреть сообщение
просто для матрицы одной и той же размерности разное время выполения
Знаете, время выполнения такая штука...
Вас только это интересует?
Ну, например, время выполнения будет еще зависеть от самих данных в матрице, а не только от размерности.
Еще, например, может сыграть свою роль загруженность системы, время, данное Вашему процессу и куча других факторов.
0
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
14.09.2016, 19:03  [ТС] 13
HelicopterK52, а сам код написан правильно, посмотрите пожалуйста?
0
_Ivana
4111 / 1900 / 238
Регистрация: 01.03.2013
Сообщений: 5,155
Записей в блоге: 22
14.09.2016, 19:03 14
А еще бывает, когда чего-то ждешь - время тянется так медленно... А занимаешься чем-то интересным - пролетает незаметно
0
hoggy
Эксперт С++
7395 / 3319 / 686
Регистрация: 15.11.2014
Сообщений: 7,594
Завершенные тесты: 1
14.09.2016, 19:34 15
El_i_z_a_b_e_th,
приведите полный листинг программы, включая функцию main,
и все остальное, что необходимо для сборки и запуска.
так же, приведите полный текст задания.

было бы совсем хорошо,
если бы вы с толком с расстановкой объяснили,
что конкретно вас смущает.
0
El_i_z_a_b_e_th
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 83
14.09.2016, 20:11  [ТС] 16
hoggy,
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <cmath>
#include <ctime>
 
using namespace std;
 
double determ(double** A, int size, double acc = 1, int p = 0)
{
    for (int k = 0; k < size; k++)
    {
        int max = k;
        for (int i = k; i < size; i++)
        {
            if ((double)fabs(A[i][k])>(double)fabs(A[max][k]))
            {
                max = i;
            }
        }
        if (A[k][k] == 0) 
        {
            cout << "Determinant is equel to zero!" << endl;
            return 0;
        }
        else if (A[k]!=A[max])
        {
            double *tmp;
            for (int i = 0; i < size; i++)
            {
                tmp = A[k];
                A[k] = A[max];
                A[max] = tmp;
            }
            p++;
        }
        for (int i = k + 1; i < size; i++)
        {
            double val = (A[i][k] / A[k][k]);
            for (int j = k; j < size; j++)
            {
                A[i][j] -= A[k][j] * val;
            }
        }
    }
 
    for (int i = 0; i<size; i++) 
        acc *= A[i][i];
    return acc*pow(-1, p);
}
 
int main()
{
    srand((unsigned)time(NULL));
 
    int size;
    cout << "input size:";
    cin >> size;
 
    double**A = new double*[size]; // объявление массива
    for (int i = 0; i < size; ++i)
        A[i] = new double[size];
 
    for (int i = 0; i < size; ++i) // заполнение массива
    {
        for (int j = 0; j < size; ++j)
        {
            A[i][j] = rand() % 20 + 1;
        }
    }
 
    for (int i = 0; i < size; ++i) // вывод матрицы
    {
        for (int j = 0; j < size; ++j)
            cout << A[i][j] << ' ';
        cout << endl;
    }
 
    unsigned int start_time = clock(); // начальное время
    cout << "Determinant: " << determ(A, size) << endl;
    unsigned int end_time = clock(); // конечное время
    unsigned int search_time = end_time - start_time; // искомое время
    cout << "Search time: " << search_time << endl;
 
    for (int i = 0; i < size; ++i)
        delete[] A[i];
    delete[] A;
    system("pause");
    return 0;
}
Добавлено через 1 минуту
hoggy, сомневаюсь в записи строки else if
C++
1
2
3
4
5
6
7
8
9
10
11
else if (A[k]!=A[max])
        {
            double *tmp;
            for (int i = 0; i < size; i++)
            {
                tmp = A[k];
                A[k] = A[max];
                A[max] = tmp;
            }
            p++;
        }
Добавлено через 2 минуты
hoggy, как здесь просчитать время выполнения?
C++
1
2
3
4
5
6
7
8
for (int i = k + 1; i < size; i++)
        {
            double val = (A[i][k] / A[k][k]);
            for (int j = k; j < size; j++)
            {
                A[i][j] -= A[k][j] * val;
            }
        }
Добавлено через 2 минуты
а в задании нужно посчитать определитель матрицы методом Гаусса и вычислить время выполнения алгоритма
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7642 / 3791 / 518
Регистрация: 04.12.2011
Сообщений: 10,936
Записей в блоге: 5
14.09.2016, 20:25 17
El_i_z_a_b_e_th, я плохо разобрал ситуацию, но попробую после ещё посмотреть. Интересно.
Пока совсем не понял строки:
C++
1
return acc*pow(-1, p);
Поскольку p целое то вы возвращаете что-то вроде:
C++
1
 return p%2? acc : -acc;
и я вот думаю. А вдруг Ваш компилятор не сумеет это оптимизировать и отдаст функции pow. А у неё ведь тоже может не быть чувства юмора и она возьмёт да и умножит это всё?
0
SamBars
14.09.2016, 21:33
  #18

Не по теме:


Цитата Сообщение от castaway Посмотреть сообщение
_Ivana, а может так:
C++Выделить код
1
cout << "The determinant is zero!" << endl;
:D :D :D

0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7642 / 3791 / 518
Регистрация: 04.12.2011
Сообщений: 10,936
Записей в блоге: 5
14.09.2016, 23:52 19

Не по теме:


cout<<"It could happen that determinant used to be zero!"<<endl;

0
14.09.2016, 23:52
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2016, 23:52

Подскажите, в чем ошибка
При компиляции программы компилятор выдает сообщение: undefined reference to `imput(int)' ld...

Подскажите в чем ошибка
Вывести слова введенной строки, начинающиеся с заданного слова, на экран столбиком. использую класс...

Подскажите, в чем ошибка?
Вроде все правильно, почему выходит результат &quot;Вы не сдали&quot;? #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.