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

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

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

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

23.09.2012, 21:44. Просмотров 582. Ответов 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++):

Дан вещественный массив А[N]. Сформировать массив В[3] следующим образом: - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale (LC_CTYPE,...

Вещественный массив - C++
Дан вещественный массив А . Определить значения вещественного массива Е по правилу: E=Сумме значений i-ой строки массива А, если А&gt;0 ...

вещественный массив - C++
Вообщем у меня такая проблема: У меня скоро зачёт, а я не фига не знаю про программу С++...=((( Вообщем мне надо ответить на такие...

вещественный массив - C++
Здравствуйте подскажите как переделать массив целых чисел ввещественный

Задан вещественный массив из N. - C++
Ребят, нужна опять ваша помощь. Задан вещественный массив из N. Упорядочить его по возрастанию методом быстрой сортировки: выбрать...

Преобразовать вещественный массив - C++
1) Даны вещественные массивы x0, x1,…, xn-1 и y0, y1,…, yn-1. Преобразовать их по правилу: большее из значений xi и yi принять в качестве...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
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
84 / 84 / 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
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
23.09.2012, 22:53  [ТС] #4
Цитата Сообщение от vitaska Посмотреть сообщение
ТО, что первое бросается в глаза так в этих местах кода, если использовать массив чисел типа float и double - вещественные числа выступают в качестве индексов массивов, а это недопустимо
а их возможно переписать по другому?

Добавлено через 3 минуты
Цитата Сообщение от Andrey.K Посмотреть сообщение
Если не заработает, выложите также задание, что нужно сделать, а то гадать логику программы не очень хочется.
Вообще это метод прогонки, но возможно и в реализации чтото не так
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,567
Записей в блоге: 4
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
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
23.09.2012, 23:34  [ТС] #6
Цитата Сообщение от IGPIGP Посмотреть сообщение
yuliyayuliya28, посмотрите замечание vitaska. Без понимания, того что именно, Вы пытаетесь сделать, Вам помочь никто не сможет. Если бы даже это был массив целых, то работать это могло бы, если массив содержит числа в пределах от 0 до максимального индекса. Это очень специальный случай. Покажите задание.
я понимаю что ошибка вот в этой строке a[a[i]]++; но не понимаю как её переписать, задание реализовать метод прогонки...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2012, 23:34
Привет! Вот еще темы с ответами:

Динамический вещественный массив - C++
Кусок программы. Всё компилится, но почему-то в цикле в g массив записываются целые значения, если НЕ писать два дабла, так и должно быть...

Объявите двумерный вещественный массив - C++
Объявите двумерный вещественный массив, в котором n  m элементов (значения n, m вводятся с клавиатуры). Заполните его числами, полученными...

Динамический двумерный вещественный массив - C++
помогите, пожалуйста создать динамический двумерный вещественный массив :help:

Вещественный массив и среднее арифметическое - C++
5. Вычислить среднее арифметическое элементов, расположенных в вещественном массиве до первого и после последнего нулевых значений.Вот мои...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.09.2012, 23:34
Ответ Создать тему
Опции темы

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