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

Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
programmerr
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 5
10.02.2013, 21:24     Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y #1
Записать положительные элементы массива
X=(x1,x2,…, xn) подряд в массив Y=(y1,y2,…, yk). Определить k – количество положительных элементов. Вычислить сумму элементов массива Y с нечетными индексами.
Я зделаль ну кудато ошибка есть!!! если можно сделайте готовый код на C++.


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
#include <iostream> 
#include <ctime> 
#include<conio.h>
using namespace std; 
int main() 
{ 
const int K = 20; 
 srand((unsigned) time(NULL)); 
 int X[K], Y[K], m, temp; 
 for (int n = 0; n < K; n++) 
 { 
 X[n] = rand() % 96 - 48; 
 cout << X[n] << ' '; 
 } 
 cout << endl << endl; 
 
 cout<<"Z=";
 for (int n = 0; n < K; n++) 
 if (X[n]>0)
 { 
  Y[m]=X[n];
 cout << Y[m] << ' ';
 } 
 float sum=0;
 for (int n=1; n<= K; n=n+2)
 sum=sum+Y[m];
 cout<<"\nSummiruem vse ne 4etnie elementi massiva\n";
 cout<<"\\n Summa:"<<sum;
 cout<<"\nKolichestvo polojitelnogo elementov K="<<m;
 getch(); 
 return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 21:24     Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y
Посмотрите здесь:

C++ Переписать пять первых положительных элементов массива подряд в массив У
Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю C++
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
C++ Определить максимальное количество подряд идущих положительных элементов массива, не прерываемых ни нулями, ни отрицательными элементами
C++ Определить индексы подряд расположенных положительных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
10.02.2013, 21:31     Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y #2
У Вас переменная m не инициализирована.
programmerr
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 5
10.02.2013, 21:37  [ТС]     Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y #3
как можно m инициализироват. если я добавлаю туда
for (int m=1; m<=K; m=m+2)
программа не работает!!!
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
10.02.2013, 22:12     Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y #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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <vector>
#include <random>
#include <ctime>
 
int main ()
{
    auto rnd = std::bind(std::uniform_int_distribution <> (-25, 50),
                         std::mt19937 (time(nullptr)));
    int vectSize = 25;
    std::vector <int> fVect (vectSize);
    std::vector <int> sVect;
 
    std::cout << "First vector: " << std::endl;
    std::generate(fVect.begin(), fVect.end(), rnd);
    std::copy(fVect.begin(), fVect.end(), std::ostream_iterator <int> (std::cout, " "));
 
    int counter = 0;
    for (auto itr: fVect)
        if (itr > 0) {
            sVect.push_back(itr);
            counter++;
        }
 
    std::cout << "\n\nSecond vector: " << std::endl;
    std::copy(sVect.begin(), sVect.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << "\nCount of elements: " << counter << std::endl;
 
    int count = 0;
    auto sum =  std::accumulate(sVect.begin(), sVect.end(), 0, [&count] (int currSum, int currNum) -> int {
        if (count++ % 2)
            return currSum += currNum;
        return currSum;
    });
    std::cout << "Sum: " << sum << std::endl;
 
    return 0;
}
Yandex
Объявления
10.02.2013, 22:12     Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y
Ответ Создать тему
Опции темы

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