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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
8Reset8
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 59
#1

Заменить единицами те элементы которые находятся после малейшего - C++

13.06.2013, 18:29. Просмотров 289. Ответов 6
Метки нет (Все метки)

Дан одномерный массив Х, который состоит из 12 элементов. Заменить единицами те элементы которые находятся после малейшего. Помогите кто может, ато не пойму как определить малейший елемент и задать чтоб все после него стали еденицами. Если можно то попроще))

Добавлено через 18 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h>
#include <math.h>
int main()
{
  int X[12];
  for(int i=0;i<20;i++)
  {
   cout<<"Enter X["<<i<<"]=:"; cin>>X[i];
  }
  int m=X[0];
  for(int i=0;i<12;i++){
  if (X[i]<m)
  m=X[i];
 
  }
  system("pause");
  return 0;
}
Вот я набросал поиск малейшого элемента а дальше незнаю(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 18:29     Заменить единицами те элементы которые находятся после малейшего
Посмотрите здесь:

Элементы матрицы умножить на скаляр C=5,2. Элементы третьего столбца заменить единицами - C++
Не могу понять как вычислить матрицу, подскажите пожалуйста=) Данная матрица А (4,5), элементы умножить на скаляр C = 5,2. Элементы...

Заменить все положительные элементы матрицы единицами - C++
Подскажите, пожалуйста. Я написал программу, которая выводит на экран матрицу размером 10х10 (рандомное заполнение двумерного массива). Как...

Заменить в исходном массиве единицами элементы с четвертого по седьмой - C++
Заменить в исходном массиве единицами элементы с четвертого по седьмой. Вот код: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include...

Заменить все положительные четные элементы массива единицами - C++
Заменить все положительные четные элементы массива единицами. Найти номер первого максимального элемента среди отрицательных элементов,...

В массиве заменить все элементы, следующие за наименьшим элементом, единицами (найти ошибку) - C++
Задание: В массиве С заменить все элементы, следующие за наименьшим элементом единицами. Вот код: #include &lt;iostream&gt; #include...

Как заменить 0 в трехмерном массиве, которые находятся между определенными числами, на -1? - C++
На вход программе дается размер матрицы (n), далее мы увеличиваем ее, но нумеруем только изначальный массив, то есть только нечетные строки...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Adpecke
23 / 23 / 2
Регистрация: 28.06.2012
Сообщений: 57
13.06.2013, 18:33     Заменить единицами те элементы которые находятся после малейшего #2
Когда ищешь минимальный элемент записывай еще его позицию в массиве в другую переменную (например в pm).
Потом
C++
1
2
3
for(int i=pm+1;i<12;i++){
  X[i]=1;
}
8Reset8
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 59
13.06.2013, 18:50  [ТС]     Заменить единицами те элементы которые находятся после малейшего #3
а PM вначале будет ровно 0 или как?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.06.2013, 18:54     Заменить единицами те элементы которые находятся после малейшего #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
#include <iostream>
#include <algorithm>
#include <vector>
#include <random>
#include <iterator>
 
int main() {
    
    const int size = 12;
    std::vector<int> v(size);
    
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(1,100);
 
    std::generate( begin(v), end(v), [&](){ return dis(gen);} );
 
    for(const auto& i: v)
    {
        std::cout << i << " ";
    }
    std::cout << std::endl;
 
    auto min = std::min_element( begin(v), end(v) );
    std::cout << *min << std::endl;    
    
    std::for_each( std::next(min), end(v), [](int& i){ i = 1; } );
    
    for(const auto& i: v)
    {
        std::cout << i << " ";
    }
    std::cout << std::endl;
 
    return 0;
}
8Reset8
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 59
13.06.2013, 18:55  [ТС]     Заменить единицами те элементы которые находятся после малейшего #5
Спасибо конечно, но такой листинг я в жизни не пойму))
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.06.2013, 18:55     Заменить единицами те элементы которые находятся после малейшего #6
Цитата Сообщение от 8Reset8 Посмотреть сообщение
Спасибо конечно, но такой листинг я в жизни не пойму))
Курочка по зернышку клюет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2013, 19:14     Заменить единицами те элементы которые находятся после малейшего
Еще ссылки по теме:

В массиве из 15 элементов, вывести те элементы , которые находятся перед максимальным - C++
В массиве из 15 элементов, вывести те элементы , которые находятся перед максимальным.

Как получить элементы матрицы, которые находятся ниже побочной диагонали? - C++
работа с матрицами. как описать элементы, которые находятся ниже побочной диагонали? если можно, то дайте пример пожалуйста

Просуммировать все элементы массива, которые находятся между первым и последним нулем - C++
У меня такая задача: мне надо просуммировать все элементы массива, которые находятся между первым нулем в массиве и последним нулем. Для...

Возвести в квадрад отрицательные элементы, которые находятся на главной диагонали и выше нее. - C++
Если не трудно, то подскажите. вот дана матрица n*n и мне надо возвести в квадрад отриц. элем., которые находятся на главной диагонали и...


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

Или воспользуйтесь поиском по форуму:
8Reset8
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 59
13.06.2013, 19:14  [ТС]     Заменить единицами те элементы которые находятся после малейшего #7
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.h>
#include <math.h>
int main()
{
int X[5];
for(int i=0;i<5;i++)
{
cout<<"Enter X["<<i<<"]=:"; cin>>X[i];
}
int z,m;
m=X[0]; z=0;
for(int i=1;i<5;i++){
if (X[i]<m)
{m=X[i], z=i; }};
cout<<"min="<<m<<endl;
for(int i=z+1;i<5;i++){
X[i]=1;
}
for(int i=0;i<5;i++){
cout<<X[i]<<" "<<endl; }
system("pause");
return 0;
}
вот попроще сделал))
Yandex
Объявления
13.06.2013, 19:14     Заменить единицами те элементы которые находятся после малейшего
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru