Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
#1

вещественный массив - C++

23.09.2012, 21:44. Просмотров 534. Ответов 5
Метки нет (Все метки)

Здравствуйте возникла проблема, как сделать массив с вещественными числами, заменяя на float и double возникают ошибки,помогите разобраться
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
#include "stdafx.h"
#include"iostream"
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include <iomanip>
 
using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    int *a,*b,*c,*d,*p,*q,*x,n,i,f;
    srand(time(NULL));
    cout<<"n= ";
    cin>>n;
    cout<<endl;
    cout<<endl<<endl;
    cout<<"Коэффициенты нижней диагонали a "<<endl;
    cout<<endl;
    a=new int[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        cout<<" ";
        a[a[i]]++;
    }
    cout<<endl<<endl;
    cout<<"Коэффициенты основной диагонали b"<<endl;
    cout<<endl;
    
    b=new int[n];
    for(int i=0;i<n;i++)
    {
        cin>>b[i];cout<<" ";
        b[b[i]]++;
    }
    cout<<endl<<endl;
    cout<<"Коэффициенты верхней диагонали c";
 
    cout<<endl;
    c=new int[n];
    for(int i=0;i<n;i++)
    {
        cin>>c[i];cout<<" ";
        c[c[i]]++;
    }
    cout<<"Вектор свободных членов d";
    
    d=new int[n];
        for(int i=0;i<n;i++)
    {   cin>>d[i];
        cout<<" ";
        d[d[i]]++;
    }
    cout<<endl<<endl;
 
    p[2]=c[1]/b[1];
    q[2]=-d[1]/b[1];
    for (i=2;i=n;i++)
    {
        p[i+1]=c[i]/b[i]-a[i]*p[i];
        q[i+1]=a[i]*q[i]-d[i]/b[i]-a[i]*p[i];
    }
    for(f=n-1;f=1;f--)
    {
        x[n+1]=0;
        x[n]=q[n+1];
        cout<<x[n]<<" ";
    }
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 21:44     вещественный массив
Посмотрите здесь:

C++ вещественный массив
Вещественный массив - заполнение случайным образом. C++
Задан вещественный массив размера N pelles c C++
C++ Задан вещественный массив из N.
Вещественный массив C++
вещественный массив C++
Вещественный массив и среднее арифметическое C++
Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: C++
Дан линейный вещественный массив а. Найти C++
Динамический вещественный массив C++
Преобразовать вещественный массив C++
C++ Динамический двумерный вещественный массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
340 / 261 / 15
Регистрация: 14.11.2010
Сообщений: 480
23.09.2012, 22:26     вещественный массив #2
Если не заработает, выложите также задание, что нужно сделать, а то гадать логику программы не очень хочется.
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
#include "stdafx.h"
#include"iostream"
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include <iomanip>
 
using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    double *a,*b,*c,*d,*p,*q,*x;
    int n,i,f;
    srand(time(NULL));
    cout<<"n= ";
    cin>>n;
    cout<<endl;
    cout<<endl<<endl;
    cout<<"Коэффициенты нижней диагонали a "<<endl;
    cout<<endl;
    a=new double[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        int aI=a[i];
        cout<<" ";
        a[aI]++;
    }
    cout<<endl<<endl;
    cout<<"Коэффициенты основной диагонали b"<<endl;
    cout<<endl;
    
    b=new double[n];
    for(int i=0;i<n;i++)
    {
        cin>>b[i];int bI=b[i];cout<<" ";
        b[bI]++;
    }
    cout<<endl<<endl;
    cout<<"Коэффициенты верхней диагонали c";
 
    cout<<endl;
    c=new double[n];
    for(int i=0;i<n;i++)
    {
        cin>>c[i];int cI=c[i];cout<<" ";
        c[cI]++;
    }
    cout<<"Вектор свободных членов d";
    
    d=new double[n];
        for(int i=0;i<n;i++)
    {   cin>>d[i];
        int dI=d[i];
        cout<<" ";
        d[dI]++;
    }
    cout<<endl<<endl;
 
    p[2]=c[1]/b[1];
    q[2]=-d[1]/b[1];
    for (i=2;i=n;i++)
    {
        p[i+1]=c[i]/b[i]-a[i]*p[i];
        q[i+1]=a[i]*q[i]-d[i]/b[i]-a[i]*p[i];
    }
    for(f=n-1;f=1;f--)
    {
        x[n+1]=0;
        x[n]=q[n+1];
        cout<<x[n]<<" ";
    }
    getch();
    return 0;
}
vitaska
 Аватар для vitaska
83 / 83 / 2
Регистрация: 04.02.2010
Сообщений: 162
23.09.2012, 22:33     вещественный массив #3
ТО, что первое бросается в глаза так в этих местах кода, если использовать массив чисел типа float и double - вещественные числа выступают в качестве индексов массивов, а это недопустимо:
C++
1
2
3
4
5
6
7
8
9
..
a[a[i]]++;
..
b[b[i]]++;
..
c[c[i]]++;
..
d[d[i]]++;
..
Дальше не смотрел..
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
23.09.2012, 22:53  [ТС]     вещественный массив #4
Цитата Сообщение от vitaska Посмотреть сообщение
ТО, что первое бросается в глаза так в этих местах кода, если использовать массив чисел типа float и double - вещественные числа выступают в качестве индексов массивов, а это недопустимо
а их возможно переписать по другому?

Добавлено через 3 минуты
Цитата Сообщение от Andrey.K Посмотреть сообщение
Если не заработает, выложите также задание, что нужно сделать, а то гадать логику программы не очень хочется.
Вообще это метод прогонки, но возможно и в реализации чтото не так
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6348 / 2995 / 295
Регистрация: 04.12.2011
Сообщений: 8,031
Записей в блоге: 3
23.09.2012, 23:11     вещественный массив #5
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
Здравствуйте возникла проблема, как сделать массив с вещественными числами, заменяя на float и double возникают ошибки,помогите разобраться
C++
1
2
3
4
5
6
7
    a=new int[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        cout<<" ";
        a[a[i]]++;
    }
yuliyayuliya28, посмотрите замечание vitaska. Без понимания, того что именно, Вы пытаетесь сделать, Вам помочь никто не сможет. Если бы даже это был массив целых, то работать это могло бы, если массив содержит числа в пределах от 0 до максимального индекса. Это очень специальный случай. Покажите задание.
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
23.09.2012, 23:34  [ТС]     вещественный массив #6
Цитата Сообщение от IGPIGP Посмотреть сообщение
yuliyayuliya28, посмотрите замечание vitaska. Без понимания, того что именно, Вы пытаетесь сделать, Вам помочь никто не сможет. Если бы даже это был массив целых, то работать это могло бы, если массив содержит числа в пределах от 0 до максимального индекса. Это очень специальный случай. Покажите задание.
я понимаю что ошибка вот в этой строке a[a[i]]++; но не понимаю как её переписать, задание реализовать метод прогонки...
Yandex
Объявления
23.09.2012, 23:34     вещественный массив
Ответ Создать тему
Опции темы

Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru