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

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

Войти
Регистрация
Восстановить пароль
 
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
#1

одномерный массив помощь в отладке программы - C++

07.10.2011, 11:59. Просмотров 309. Ответов 4
Метки нет (Все метки)

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
#include <iostream>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
#include <iomanip>
#define m 12
using namespace std;
 
void main()
{
    setlocale(LC_ALL,"Russian");
    
    double f[m],y[m];
    int i;
    int n;
    
    do
    {cout<<"Введите размерность массива от 0 до 12:";
        cin>>n;
    }
    
    while ((n>=m)||(n<0));
    
        //const int n=12;
    cout<<" Введите элементы массива y:"<<endl; 
    for (i=0; i<n; i++)
    {   
        cout<<"y["<<i<<"]=" ;
        cin>>y[i];
    }
        cout<<"Array f:"<<endl;
        for (i=0; i<n; i++)
        {
            f[i]=(1- y[i]/(y[i])*(y[i]));
            if (2<=y[i])
                f[i] += y[i]*2;
            else 
                f[i] += y[i]*3;
    
    cout <<" индексы:"<<" ";
    for (i=0; i<n; i++)
    {
        cout<<setfill(' ')<<setw(3) << i<<"       ";
    }
    cout <<endl<<"элементы:"<<" ";
    for (i=0; i<n; i++)
    {
    
        cout<<setfill(' ')<<setw(3) << f[i]<<" "; 
        
    }
    
        }
        cout<<"Нажмите любую клавишу ";
    _getch();
    
}

Собственно это сама программа, не могу найти ошибку вроде все норм до вывода результатов, пишет неумоверные числа, думаю ошибка в условии

Добавлено через 1 минуту
По условию:Дан массив y1, …, y12.
Сформировать новый массив , f(i)= (1-y(i)/sqr(y(i)) + y(i)*a


где a = 2 если y(i)<=2 , a = 3 если y(i)>2

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2011, 11:59     одномерный массив помощь в отладке программы
Посмотрите здесь:

Нужна помощь (одномерный статический массив) - C++
В массиве нужно удалить элементы кратные 7. Не получается удалить со сдвигом (массив статический). И ещё добавить после каждого нечётного...

Ошибка при отладке программы - C++
Недавно начал заниматься на С++ по книге &quot;Дейтел Х. Дейтел П. - Как программировать на C++&quot;, и столкнулся с такой проблемкой, ввожу самый...

Ошибка при отладке программы - C++
Программа: #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;locale&gt; void c511(); void c521(); void c5211(); int main() { ...

Одномерный динамический массив. Хочу разобраться (понять) код программы - C++
Вот такая вот задача: Написать прог-му которая для вещественного массива из (n) элементов определяет сумму элементов расположенный...

при отладке программы возникает ошибка - C++
при отладке программы,возникает одно и то же сообщение при выводе из формулы(на фото в окне отладки) условие: Вычислить для своего...

Ошибка при выходе из программы, а в отладке с самого начала её нет - C++
Программа должна повторять действия калькулятора. Условия таковы вводим строку и после работаем с ней как с числами и символами, но при...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
07.10.2011, 12:03     одномерный массив помощь в отладке программы #2
C++
1
f[i]=(1- y[i]/(y[i])*(y[i]));
Классное вычисление, сначала умножили, потом поделили. Получается
C++
1
f[i]=1-1/y[i];
Возможно здесь ошибка?
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
07.10.2011, 12:05  [ТС]     одномерный массив помощь в отладке программы #3
как тогда устронить? не подскажите?
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
07.10.2011, 12:11     одномерный массив помощь в отладке программы #4
Как вариант
C++
1
2
if (2<=y[i]) f[i]=(1-y[i])/(y[i]*y[i]+y[i]*2);
else f[i]=(1-y[i])/(y[i]*y[i]+y[i]*3);
Потому что формула имхо должна выглядеть так:
f(i)= (1-y(i)) / (sqr(y(i)) + y(i)*a)

Добавлено через 3 минуты
Второй вариант для формулы: f(i)= (1-y(i)) / sqr(y(i)) + y(i)*a
C++
1
2
if (2<=y[i]) f[i]=(1-y[i])/(y[i]*y[i]) + y[i]*2;
else f[i]=(1-y[i])/(y[i]*y[i]) +y[i]*3;
Разберитесь какой вариант правильный
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2011, 12:43     одномерный массив помощь в отладке программы
Еще ссылки по теме:

При отладке программы вылетает окошко с ошибкой: использование переменной без инициализации - C++
код: #include &lt;iostream&gt; #include &lt;conio.h&gt; int A,n,m; using namespace std; void poisk1(); void poisk2(); int main() ...

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

Нужна срочная помощь в исправлении программы, пожалуйста!) - C++
С клавиатуры вводится значения х и y. В зависимости от значений х и y рассчитать значение функции f (x, y): f (x, y) = x, если y = 2; ...

Требуется помощь в составлении блок-схемы для программы - C++
Всем привет,имеется код программы,необходима помощь в составлении блок-схем. #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
07.10.2011, 12:43  [ТС]     одномерный массив помощь в отладке программы #5
понял, спасибо, но почему опять числа с мантиссой причем одинаковые при разных значениях

Добавлено через 29 минут
даже при одинаковых вводимых значениях, выдает разные в ответе
Yandex
Объявления
07.10.2011, 12:43     одномерный массив помощь в отладке программы
Ответ Создать тему
Опции темы

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