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

Массив через цикл - C++

Восстановить пароль Регистрация
 
Katusha11
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 23
10.04.2012, 23:12     Массив через цикл #1
Здравствуйте, на практике дали задание, в принципе я знаю как его сделать только через массив, а вот только нужно обязательно с помощью циклов, может кто поможет, у меня не получилось решить.
Мы имеем:
х1=y2=1
x[i]=0.3*x[i-1]
y[i]=x[i-1]+y[i-1]
n - натуральное число
i=2,3...
Найти:
Ʃx[i]/(1+|y[i]|)

У меня именно проблема с подсчетом y и x

C++
1
2
3
4
5
6
7
8
9
10
for(i=2;i<=n;i++)
 
{cout<<"I="<<i<<endl;;
x=0.3*x;
cout<<"X="<<x<<endl;
 y=x+y;
 cout<<"Y="<<y<<endl;
 s+=x/(1+(fabs(y)));
 
}
Вот что я делала, понимаю, что бред, но на что то умнее меня не хватило.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
10.04.2012, 23:21     Массив через цикл #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
int main()
{
 float x=1,y=1,s;
 for (int i=2;i<100;i++)
  {
   y+=x;
   x=0.3*x;
   s+=x/(1+fabs(y));
  }
 std::cout<<"S="<<s<<std::endl;
 system("pause");
 return 0;
}
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
10.04.2012, 23:46     Массив через цикл #3
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
#include <iostream>
#include <conio.h>
#include <math.h>
 
 
int main ()
{
    int  n;
    double xi, yi, xi1 = 1, yi1 = 1, sum = 0;
    
    cout << "Enter n: ";
    cin >> n;
    
    for(int i = 2; i <= n; i++)
     {
        xi = 0.3 * xi1;
        xi1 = xi;
    
        yi = xi1 + yi1;
        yi1 = yi;
        
        sum += xi /( 1 + fabs(yi)); 
     }
        
        printf("Suma: %2.9f", sum);
        
    getch();
    return 0;
}
Вот так?

Добавлено через 2 минуты
Цитата Сообщение от Nekto Посмотреть сообщение
C++
1
   y+=x;
????????????????????????????

Ой чтото мне кажетса сумы у нас различаютса
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
10.04.2012, 23:51     Массив через цикл #4
Цитата Сообщение от (SkyNet) Посмотреть сообщение
Ой чтото мне кажетса сумы у нас различаютса
Потому что условие написано неясно. Что дано? х1=1, у1=1? И считать сумму, начиная со второго элемента?
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
10.04.2012, 23:55     Массив через цикл #5
А гдн в условие написанно, что y+=x; ето чё за бред ещё? Вобшем ето не верно
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
11.04.2012, 00:00     Массив через цикл #6
Цитата Сообщение от (SkyNet) Посмотреть сообщение
А гдн в условие написанно, что y+=x; ето чё за бред ещё? Вобшем ето не верно
y[i]=x[i-1]+y[i-1] вот тут
Katusha11
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 23
11.04.2012, 00:04  [ТС]     Массив через цикл #7
Я проверила первые два значения по программе Nekto все правильно посчитало.
Сейчас попробую программу (SkyNet) и отпишусь
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
11.04.2012, 00:06     Массив через цикл #8
Цитата Сообщение от Nekto Посмотреть сообщение
y[i]=x[i-1]+y[i-1] вот тут
А і - 1, вам о чём то говорит?
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
11.04.2012, 00:13     Массив через цикл #9
Цитата Сообщение от (SkyNet) Посмотреть сообщение
А і - 1, вам о чём то говорит?
C++
1
2
3
4
5
  {
   y+=x;
   x=0.3*x;
   s+=x/(1+fabs(y));
  }
y1=1, x1=1
y2=2, x2=0.3
y3=2.3, x3=0.09
y4=2.39, x4=0.027
В чем ты видишь несоответствие, я не могу понять.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2012, 00:14     Массив через цикл
Еще ссылки по теме:

Как посчитать массив через параметрический цикл? C++
C++ Записать цикл через while c++
C++ Вычисление выражения через цикл for

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

Или воспользуйтесь поиском по форуму:
Katusha11
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 23
11.04.2012, 00:14  [ТС]     Массив через цикл #10
(SkyNet), у вас уже первый y считает не правильно, так как если мы вводим n=2 у нас х[2] будет равен х[2-1]*0.3, х[1] у нас равно 1, а значит x[2]=0.3.
y[2] будет равен x[2-1]+y[2-1], х[1] равен 1 и y[1] равен 1, а значить y[2]=2, а у вас y[2]=1.3.
У меня программа так же считала.

Спасибо обоим)
Yandex
Объявления
11.04.2012, 00:14     Массив через цикл
Ответ Создать тему
Опции темы

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