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

дан массив размера N - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Igor__
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
08.01.2012, 15:16     дан массив размера N #1
Всем привет! С прошедшими праздниками!
такой вопрос:дан массив размера N и целые числа K и L (1 <= K <= L <= N) найти сумму элементов с номерами от К до L включительно

массив вроде разобрался как вводить.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void main()
{
    setlocale(LC_ALL,"russian");
    
    int n;
    int k;
    int l;
    int sum = 0;
 
    cout << "введите размер массива n: ";
    cin >>  n;
    int *arr = new int[n];
    cout << "введите элементы массива: " << endl;
    
    for(int i = 0; i < n; i++)
            cin >> arr[i];
    
    cout << "введите k: ";
    cin >> k;
    cout << "введите l: ";
    cin >> l;
дальше не соображу никак
что-то вроде этого?
C++
1
2
3
for(int k = 0; k < l; k++)
            sum += arr[k];
    cout >> sum;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2012, 15:16     дан массив размера N
Посмотрите здесь:

C++ Дан массив размера N
дан массив размера N. C++
C++ Дан массив A размера N.
C++ Дан массив A размера N
C++ Дан массив A размера N. Вывести
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
08.01.2012, 15:26     дан массив размера N #2
Думаю, так:
C++
1
2
for( int i = k; i <= l; i++ )
   sum += arr[i];
Начальное значение счётчика - k, конечное - l.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.01.2012, 15:27     дан массив размера N #3
C++
1
2
3
for( ; k <= l; k++)
    sum += arr[k];
cout >> sum;
Не забудьте освободить память, занятую массивом.
Igor__
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
08.01.2012, 15:29  [ТС]     дан массив размера N #4
Цитата Сообщение от soon Посмотреть сообщение
Не забудьте освободить память, занятую массивом.
каким образом?
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
08.01.2012, 15:30     дан массив размера N #5
C++
1
delete [] arr;
Igor__
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
08.01.2012, 15:36  [ТС]     дан массив размера N #6
ошибку пишет:
.\nine.cpp(30) : error C2784: std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char &): не удалось вывести аргумент шаблон для "std::basic_istream<char,_Traits> &" из "std::ostream"
E:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(1021): см. объявление 'std::operator >>'
и таких 25 штук
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
08.01.2012, 15:37     дан массив размера N #7
Полный код выложите
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
08.01.2012, 15:40     дан массив размера N #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <ctime>
#include <numeric>
 
int main ()
{
    int arr[5] = { 1, 2, 3, 4, 5};
    int l = 1; int n = 5;
    const size_t size = sizeof(arr) / sizeof(arr[0]);
    
    srand ( unsigned ( time (NULL) ) );
    
    std::random_shuffle ( arr, arr + size );
    std::copy (arr, arr + size, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl << accumulate ( arr + l, arr + n, 0) << std::endl; 
}
http://codepad.org/QfU4LRCn
Igor__
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
08.01.2012, 15:43  [ТС]     дан массив размера N #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
28
29
30
31
32
33
34
35
#include <iostream>
using namespace std;
 
void main()
{
    setlocale(LC_ALL,"russian");
    
    int n;
    int k;
    int l;
    int sum = 0;
 
    cout << "введите размер массива n: ";
    cin >>  n;
    int *arr = new int[n];
    cout << "введите элементы массива: " << endl;
    
    for(int i = 0; i < n; i++)
            cin >> arr[i];
    
    cout << "введите k: ";
    cin >> k;
    cout << "введите l: ";
    cin >> l;
    
    for(int i = k; i <= l; i++)
            sum += arr[i];
    
    cout >> sum;
        
    cin.get();
    cin.get();
    
    
}
Добавлено через 1 минуту
а как без стандартных алгоритмов сделать?
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
08.01.2012, 15:44     дан массив размера N #10
C++
1
2
// cout >> sum;
cout << sum;
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.01.2012, 15:45     дан массив размера N #11
Цитата Сообщение от Igor__ Посмотреть сообщение
cout >> sum;
cout << sum;
Вы не освободили память
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2012, 15:47     дан массив размера N
Еще ссылки по теме:

C++ Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1
Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1 C++
C++ Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу:

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

Или воспользуйтесь поиском по форуму:
Igor__
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
08.01.2012, 15:47  [ТС]     дан массив размера N #12
да уж) спасибо большое!)

стыдно(
Yandex
Объявления
08.01.2012, 15:47     дан массив размера N
Ответ Создать тему
Опции темы

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