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

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

Восстановить пароль Регистрация
 
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
23.09.2012, 21:44     вещественный массив #1
Здравствуйте возникла проблема, как сделать массив с вещественными числами, заменяя на 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++
C++ Задан вещественный массив из N.
Вещественный массив C++
вещественный массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 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
6167 / 2896 / 282
Регистрация: 04.12.2011
Сообщений: 7,703
Записей в блоге: 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     вещественный массив
Ответ Создать тему
Опции темы

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