Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 47
1

Найти максимальный элемент массива и все числа до него заменить нулями

18.07.2016, 13:23. Просмотров 1539. Ответов 3
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
void Zamena(int a[], int n,int& max, int& maxI)
{
     
    for (int i = 0; i < n; i++)
        if (max > a[i])
        {
            max = a[i];
            maxI = i;
        }
    for (int i = 0; i < n; i++)
        if (a[i]<a[maxI])
            a[i] = 0;
}
int main()
{
    int a[7],max=a[0],maxI=0;
    cout << "Vvesite massiv" << endl;
    for (int i = 0; i < 7; i++) cin>>a[i];
    Zamena(a, 7, max, maxI);
    cout << "Massiv=" << endl;
    for (int i = 0; i < 7; i++)
        cout << a[i]<<endl;
    return 0;
}
набросал что-то но выводит массив неправильно, на нули не заменяет..
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2016, 13:23
Ответы с готовыми решениями:

Найти максимальный элемент массива, и удалить после него все нечетные элементы
В массиве A(n) определить максимальный элемент .удалить после максимального все нечетные элементы

Найти максимальный элемент массива, заменить все положительные элементы массива максимальным
Создать одномерный массив из 10 случайных целых чисел из интервала от -10 до 10. Найти максимальный...

Найти максимальный элемент массива, заменить все положительные элементы массива максимальным
Создать одномерный массив из 10 случайных целых чисел из интервала от -10 до 10. Найти...

Заменить элементы главной диагонали матрицы нулями и найти максимальный элемент ниже побочной диагонали
Есть пример для решения другой задачи(она находит суму всех элементов каждой строки и выводит...

3
253 / 230 / 185
Регистрация: 02.04.2016
Сообщений: 897
18.07.2016, 13:29 2
Лучший ответ Сообщение было отмечено katafot как решение

Решение

Можно проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Zamena(int a[],int& maxI)
{
    for (int i = 0; i < maxI; i++)
            a[i] = 0;
}
int main() {
    
    int a[7], max, maxI;
    cout << "Vvesite massiv" << endl;
    for (int i = 0; i < 7; i++) cin >> a[i];
    max = a[0];
    for (int i=1;i<7;++i)
        if (a[i] > max) {
            max = a[i];
            maxI = i;
        }
    Zamena(a,maxI);
    cout << "Massiv=" << endl;
    for (int i = 0; i < 7; i++)
        cout << a[i] << endl;
 
    return 0;
}
P.S Ваш вариант не работает
1
Хитрая блондиночка $)
1460 / 974 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
18.07.2016, 13:34 3
С коленки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
int max(int *a,int len){
    int m=0; for(int i=1;i<len;i++) m=(a[i]<a[m])?i:m;
    return m;
}
void repl(int *a,int len){
 for(int i=0;i<len;i++) a[i]=0;
}
int main()
{
   int a[5]={7,2,3,4,5};
   repl(&a[0],max(&a[0],5));
   for(int i=0;i<5;i++) cout<<a[i]<<'\t';
   return 0;
}
0
253 / 230 / 185
Регистрация: 02.04.2016
Сообщений: 897
18.07.2016, 13:39 4
Hikari, Думаю, что эффект тот же
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2016, 13:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти максимальный элемент массива и произведение элементов до него
помогите, пожалуйста! Дан массив А из 10 целых чисел введенных с клавиатуры, найти максимальный...

Найти максимальный элемент вектора и вывести числа, расположенные до и после него в разные массивы
Помогите с задачей по одномерным массивам В векторе V найти максимальный элемент и вывести все...

Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
Помогите составить программу на С++

Найти произведение наименьшего и наибольшего значений массива, все отрицательные элементы заменить нулями
Дан одномерный массив. Найти произведение наименьшего и наибольшего значений. Заменить нулями все...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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