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

Выражение с суммами - C++

Восстановить пароль Регистрация
 
AnyNameHere
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 19
26.03.2013, 00:58     Выражение с суммами #1
Необходимо посчитать выражение с 2-мя суммами
a+Ʃ(2*l^3+3*l^2+1)
2+Ʃ(k^2+2)
для l от 2 до n и k от 3 до m
вот, что получилось у меня
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
#include <stdio.h>
#include <math.h>
#define N 100
int main()
{
    float y,a,x[N],q[N],z,p;
    int i,k,n,m;
    printf("\n Vvedite a ");
    scanf("%f",&a);
    printf("\n Vvedite n ");
    scanf("%d",&n);
    printf("\n Vvedite m ");
    scanf("%d",&m);
    for (i=2;i<n;i++)
    {x[i]=2*i^3+3*i^2+1;
    }
    for (k=3;k<m;k++)
    {q[k]=k^2+2;
    }
    z=a+x[n-1];
    p=2+q[m-1];
    y=z/p;
    printf("\n y=%f; x[n-1]= %6.2f; q[m-1]= %6.2f",y,x[n-1],q[m-1]);
   
}
но при подстановке любых значений выводит q[m]=0
Vvedite a 2

Vvedite n 5

Vvedite m 5

y=17.500000; x[n]= 33.000000; q[m]= 0.000000
ВЫПОЛНЕНИЕ SUCCESSFUL (общее время: 1s)
в чем проблема и как ее исправить?

Добавлено через 8 минут
Цитата Сообщение от AnyNameHere Посмотреть сообщение
Необходимо посчитать выражение с 2-мя суммами
a+Ʃ(2*l^3+3*l^2+1)
2+Ʃ(k^2+2)
для l от 2 до n и k от 3 до m
вот, что получилось у меня
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
#include <stdio.h>
#include <math.h>
#define N 100
int main()
{
    float y,a,x[N],q[N],z,p;
    int i,k,n,m;
    printf("\n Vvedite a ");
    scanf("%f",&a);
    printf("\n Vvedite n ");
    scanf("%d",&n);
    printf("\n Vvedite m ");
    scanf("%d",&m);
    for (i=2;i<n;i++)
    {x[i]=2*i^3+3*i^2+1;
    }
    for (k=3;k<m;k++)
    {q[k]=k^2+2;
    }
    z=a+x[n-1];
    p=2+q[m-1];
    y=z/p;
    printf("\n y=%f; x[n-1]= %6.2f; q[m-1]= %6.2f",y,x[n-1],q[m-1]);
   
}
но при подстановке любых значений выводит q[m]=0

в чем проблема и как ее исправить?
понял, что считал не суммы, а массивы, но тем не менее, с переделанным вариантом результаты подсчетов явно не совпадают с действительностью
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
#include <stdio.h>
#include <math.h>
#define N 100
int main()
{
    float y,a,x=0,q=0,z,p,b[N],g[N];
    int i,k,n,m;
    printf("\n Vvedite a ");
    scanf("%f",&a);
    printf("\n Vvedite n ");
    scanf("%d",&n);
    printf("\n Vvedite m ");
    scanf("%d",&m);
    for (i=2;i<n;i++)
    {b[i]=2*(i^3)+3*(i^2)+1;
    x=x+b[i];
    }
    for (k=3;k<m;k++)
    {g[k]=k^2+2;
    q=q+g[k];
    }
    z=a+x;
    p=2+q;
    y=z/p;
    printf("\n y=%f; x= %f; q= %f",y,x,q);
   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 00:58     Выражение с суммами
Посмотрите здесь:

C++ Создать класс Money для работы с денежными суммами
C++ Создать структуру Money для работы с денежными суммами
Подставить в заданное выражение знаки +,-,*,/ так, чтобы выражение было истинным C++
C++ Переставить местами строки с наименьшей и наибольшей суммами элементов
C++ Вывести значение логического выражения, заданного в виде строки S. Выражение определяется следующим образом («T» — True, «F» — False): <выражение> :
C++ Номера строк с одинаковыми суммами
C++ Поменять местами строку и столбец с максимальными суммами элементов
Заменить элементы главной диагонали матрицы суммами элементов столбцов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Triall
 Аватар для Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
26.03.2013, 01:24     Выражение с суммами #2
Цитата Сообщение от AnyNameHere Посмотреть сообщение
for (i=2;i<n;i++)
* * {b[i]=2*(i^3)+3*(i^2)+1;
* * x=x+b[i];
* * }
А зачем записывать в масив ? Можно просто в какую то переменную.
for (k=3;k<m;k++)
{g[k]=k^2+2;
q=q+g[k];
}
Аналогично.

Добавлено через 9 минут
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
#include <stdio.h>
int main()
{
    float y, a, x=0 ,q=0, z ,p;
    int n, m;
    printf("\n Vvedite a ");
    scanf("%f",&a);
    printf("\n Vvedite n ");
    scanf("%d",&n);
    printf("\n Vvedite m ");
    scanf("%d",&m);
    for (int i=2; i<n; i++)
    {
        float sum=2*(i*i*i)+3*(i*i)+1;
        x+=sum;
    }
    for (int k=3; k<m; k++)
    {
        float sum=k*k+2;
        q+=sum;
    }
    z=a+x;
    p=2+q;
    y=z/p;
    printf("\n y=%f; x= %f; q= %f",y,x,q);
 
}
Вы не правильно в степень возводите...
Цитата Сообщение от Triall Посмотреть сообщение
k^2+2
C++
1
2
3
4
5
6
7
8
unsigned char a, b, c, d, e, f;
     a = 5     ; // 00000101
     b = 6     ; // 00000110
     
     c = a & b ; // 00000100 == 4
     d = a | b ; // 00000111 == 7
     e = a ^ b ; // 00000011 == 3
     f =  ~ a  ; // 11111010 == 250
Yandex
Объявления
26.03.2013, 01:24     Выражение с суммами
Ответ Создать тему
Опции темы

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