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

Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Coward
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 8
22.01.2012, 00:40     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #1
Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10)
Пишу цикл от 1 до 10 и возвожу каждое число в степень и складываю их!Вроде все легко но реализовать не получается!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 00:40     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10)
Посмотрите здесь:

C++ Для числа найти сумму с обратным по записи числом
C++ Для каждой строки найти сумму элементов нечетных столбцов
C++ Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива
Найти сумму положительных и сумму нечетных членов последовательности. Вывести ту сумму, которая по модулю меньше C++
Для каждого столбца двумерного массива найти и напечатать сумму элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ejjjik
8 / 8 / 0
Регистрация: 06.06.2010
Сообщений: 25
22.01.2012, 01:10     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #2
C++
1
2
3
4
5
6
void main()
{
    int tmp = 0;
    for (int i = 0; i <= 10; i++, tmp += i*i);
    cout << tmp;
}
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
22.01.2012, 01:14     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #3
ejjjik, у тебя увеличение tmp выполняется до проверки условия. Поставь там просто < что ли.
ejjjik
8 / 8 / 0
Регистрация: 06.06.2010
Сообщений: 25
22.01.2012, 02:05     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #4
точно, или местами счетчик поменять с вычислением.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 12:23     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
 
int main(){
   std::vector<int> v(10);
   int i(0);
   std::generate(v.begin(), v.end(), [&] () { return ++i; });
   std::cout << std::accumulate(v.begin(), v.end(), 0, [] (int total, int val) { return total += val * val; })
             << std::endl;
   return 0;
}
http://liveworkspace.org/code/6a12bb...d0cc780022b820
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
22.01.2012, 12:31     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #6
go, угу. И зачем? Это удобней писать и, особенно, читать? Может быть работает быстрее? Или ресурсов меньше потребляет?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 12:43     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #7
NoMasters, а в чем вопрос? Каждый делает так, как ему выгодней.
а Вы так хотите сделать?
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main(){
   int total = 0;
   for ( auto i = 1 ; i <= 10 ; total += i * i, ++i );
   std::cout << total << std::endl;
   return 0;
}
http://liveworkspace.org/code/645260...6c0c683226ab1f
Для меня первый лучше
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.01.2012, 12:48     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #8
Цитата Сообщение от NoMasters Посмотреть сообщение
и, особенно, читать?
Читать кстати удобнее, если есть опыт.
В первой строке почти по-русски написано, что генерируется вектор 1,2,3..10, во второй вычисляется сумма квадратов его элементов.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
22.01.2012, 12:54     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #9
А если бы в первом ответе не выеживалить, впихивая тело цикла внутрь for, то для чтения достаточно было знать базовые конструкции, одинаковые в 80+ процентах языков, без всякого специфичного опыта и ненужных ресурсоемких конструкций.
Арсенал
144 / 66 / 6
Регистрация: 30.12.2011
Сообщений: 137
22.01.2012, 13:08     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
 
using namespace std;
 
 
int main()
{
    cout.flush();
 
    int sum = 0, total = 0;
 
    for (int i=1; i<=10; i++)
    {
        sum = pow(i, 2);
        total += sum;
    }
 
    cout<<"Sum = " <<total;
    cin.get();
 
    return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 13:10     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #11
Арсенал, pow здесь не уместен http://codepad.org/0wfc97Vv
Арсенал
144 / 66 / 6
Регистрация: 30.12.2011
Сообщений: 137
22.01.2012, 13:18     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #12
go,

http://liveworkspace.org/code/73c9c6...4f3377da160c9d - здесь прокатывает, кодепад иногда чудит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2012, 13:23     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10)
Еще ссылки по теме:

Для целочисленного массива найти сумму четных элементов C++
C++ Для каждой строки матрицы найти сумму ее элементов
C++ Для каждой строки матрицы найти сумму её элементов

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 13:23     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10) #13
Цитата Сообщение от Арсенал Посмотреть сообщение
кодепад иногда чудит
Ничего он не чудит. Типы необходимо приводить, студия тоже откажеться компилить.
http://codepad.org/9ZHhjahj
Yandex
Объявления
22.01.2012, 13:23     Найти сумму S= 1^2 + 2^2 + 3^2+… + n^2 (для n=10)
Ответ Создать тему
Опции темы

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