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

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

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

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

13.06.2013, 18:29. Просмотров 277. Ответов 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++
C++ Возвести в квадрад отрицательные элементы, которые находятся на главной диагонали и выше нее.
Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся C++
C++ Элементы матрицы умножить на скаляр C=5,2. Элементы третьего столбца заменить единицами
Просуммировать все элементы массива, которые находятся между первым и последним нулем C++
Как получить элементы матрицы, которые находятся ниже побочной диагонали? C++
C++ В массиве заменить все элементы, следующие за наименьшим элементом, единицами (найти ошибку)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Adpecke
 Аватар для 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
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
13.06.2013, 18:55     Заменить единицами те элементы которые находятся после малейшего #6
Цитата Сообщение от 8Reset8 Посмотреть сообщение
Спасибо конечно, но такой листинг я в жизни не пойму))
Курочка по зернышку клюет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2013, 19:14     Заменить единицами те элементы которые находятся после малейшего
Еще ссылки по теме:

В массиве из 15 элементов, вывести те элементы , которые находятся перед максимальным C++
C++ Заменить нулями элементы массива, которые меньше данного числа
C++ Заменить все положительные элементы матрицы единицами
Заменить в исходном массиве единицами элементы с четвертого по седьмой C++
C++ Как заменить 0 в трехмерном массиве, которые находятся между определенными числами, на -1?

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

Или воспользуйтесь поиском по форуму:
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     Заменить единицами те элементы которые находятся после малейшего
Ответ Создать тему
Опции темы

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