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

Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) - C++

Восстановить пароль Регистрация
 
Recoom
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 10
16.05.2013, 17:21     Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) #1
Ребята помогите пожалуйста с задачкой. Я сам не шарю в C++, но в этом семестре появился этот предмет! И завтра его надо будет сдать Буду при много благодарен!

Задача: Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5). С указателем и без.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 17:21     Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5)
Посмотрите здесь:

C++ Определить максимальный элемент среди положительных нечетных элементов и минимальный среди положительных четных элементов
C++ Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию
Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора C++
C++ Определить минимальный элемент среди положительных элементов
Дана квадратная матрица A[n,n] b вектор b[n]. Определить сумму положительных элементов вектора c=b*A C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Marina_P
8 / 8 / 0
Регистрация: 11.02.2013
Сообщений: 67
16.05.2013, 19:55     Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) #2
Без указателя приблизительно так, если я правильно поняла условие.
Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
#include "iostream"
using namespace std;
void main()
{
    int c[10],a[5];
    int count,min,i,index_min;
    cout<<"INPUT DIM A"<<endl;
    min=1000;
    for(i=0;i<5;i++)
    {
       cout<<"A["<<i+1<<"]=";
       cin>>a[i];
       if(a[i]<min)
       {
           min=a[i];
           index_min=i;
       }
    }
    cout<<"MIN="<<min<<endl;
    cout<<"INPUT DIM C"<<endl;
    count=0;
   for(i=0;i<10;i++)
    {
       cout<<"C["<<i+1<<"]=";
       cin>>c[i];
       if(c[i]>=0)
       {
           count++;
       }
    }
   cout<<"Count="<<count<<endl;
   a[index_min]=count;
   cout<<"DIM A"<<endl;
   for(i=0;i<5;i++)
   {
       cout<<a[i]<<" ";
   }
}
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
16.05.2013, 20:15     Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) #3
Recoom,

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
42
43
44
#include <iostream>
#include <sstream>
#include <algorithm>
#include <vector>
#include <iterator>
#include <time.h>
#include <cstdlib>
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand(time(nullptr));
    std::vector<int> coll1(5), coll2(10);       //объявляем 2 вектора и указываем их размер
                                                //в функциональной нотации
 
    std::cout << "First vector: ";
    std::for_each(coll1.begin(), coll1.end(), [](int &elem)
        {                                                   //заполняем рандомно вектор
            elem = -10 + rand() % 21;                       //и выводим значения его элементов 
            std::cout << elem << ' ';
        });
 
    std::cout << "\nSecond vector: ";
    std::for_each(coll2.begin(), coll2.end(), [](int &elem)
    {                                                       //тоже самое, но со вторым
        elem = -10 + rand() % 21;   
        std::cout << elem << ' ';
    });
 
    int counter = std::count_if(coll2.begin(), coll2.end(), [](int op) -> bool
        {                                                   //подсчет кол-ва положительных эл-ов
            return op > 0;
        });
 
    std::cout << "\nThe number of positive elements: " << counter;  //вывод значения счетчика
 
    //находим минимальный элемент вектора А(5)
    std::vector<int>::iterator pos = std::min_element(coll1.begin(), coll1.end());
    *pos = counter;                 //минимальный элемент равен кол-ву положительных в С(10) 
 
    std::cout << "\nNew first vector: ";                        //вывод нового вектора A(5)
    std::copy(coll1.begin(), coll1.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n\n";
    return 0;
}
Recoom
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 10
17.05.2013, 08:14  [ТС]     Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) #4
Всем спасибо большое, красиво оформлено! +1
Yandex
Объявления
17.05.2013, 08:14     Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5)
Ответ Создать тему
Опции темы

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