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

Сожмите одномерный массив, удалив предшествующие максимальному элементу - C++

Восстановить пароль Регистрация
 
Scruff
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 7
22.11.2012, 15:58     Сожмите одномерный массив, удалив предшествующие максимальному элементу #1
Помогите, пожалуйста, решить задачу: Сожмите одномерный массив, удалив предшествующие максимальному элементу.
____________________________
Заранее благодарен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 15:58     Сожмите одномерный массив, удалив предшествующие максимальному элементу
Посмотрите здесь:

Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца C++
C++ Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу
Массивы: элементы массива с четными номерами, предшествующие первому максимальному элементу, умножить... C++
C++ сожмите одномерный массив, удалив предшествующие минимальному)
Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца двумерного массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PitBool
 Аватар для PitBool
12 / 12 / 6
Регистрация: 31.10.2012
Сообщений: 45
22.11.2012, 16:05     Сожмите одномерный массив, удалив предшествующие максимальному элементу #2
Scruff, нужно сам массив меньшим сделать или вывести без элементов которые предшествуют максимальному элементу?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2012, 16:09     Сожмите одномерный массив, удалив предшествующие максимальному элементу #3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <vector>
#include <algorithm>
#include <iostream>
#include <iterator>
 
int main()
{
    std::vector<int> v = {1,2,3,4,5,4,3,2,4};
    v.erase(v.begin(), std::max_element(v.begin(), v.end()));
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, "\n"));
}
http://ideone.com/F1nMGM
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.11.2012, 16:13     Сожмите одномерный массив, удалив предшествующие максимальному элементу #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
#include <iostream> 
 
int main() 
{ 
    const int size = 10; 
    int array[size] = { 12, 45, 5, 6, 7, 123, 3, 9, 6, 7 }; 
    int i, max, max_index; 
 
    for ( i = 0; i < size; ++i) 
        std::cout << array[i] << " "; 
    std::cout << std::endl; 
 
    max = array[0]; 
    max_index = 0; 
 
    for ( i = 0; i < size; ++i) 
        if(array[i] > max) 
        { 
            max = array[i]; 
            max_index = i; 
        } 
            for ( i = max_index - 1; i < size - 1; ++i) 
                      array[i] = array[i+1]; 
             
            for ( i = 0; i < size - 1; ++i) 
                std::cout << array[i] << " "; 
            std::cout << std::endl;
}
Scruff
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 7
22.11.2012, 18:25  [ТС]     Сожмите одномерный массив, удалив предшествующие максимальному элементу #5
PitBool, ну я не знаю.. я все задание переписал сюда..)

Добавлено через 10 минут
Цитата Сообщение от David Sylva Посмотреть сообщение
Можно так
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
#include <iostream> 
 
int main() 
{ 
    const int size = 10; 
    int array[size] = { 12, 45, 5, 6, 7, 123, 3, 9, 6, 7 }; 
    int i, max, max_index; 
 
    for ( i = 0; i < size; ++i) 
        std::cout << array[i] << " "; 
    std::cout << std::endl; 
 
    max = array[0]; 
    max_index = 0; 
 
    for ( i = 0; i < size; ++i) 
        if(array[i] > max) 
        { 
            max = array[i]; 
            max_index = i; 
        } 
            for ( i = max_index - 1; i < size - 1; ++i) 
                      array[i] = array[i+1]; 
             
            for ( i = 0; i < size - 1; ++i) 
                std::cout << array[i] << " "; 
            std::cout << std::endl;
}
_______________
1>------ Build started: Project: Massiv, Configuration: Debug Win32 ------
1> Massiv.cpp
1>Massiv.cpp(3): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Massiv.cpp(31): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
_______________
не делает почему то...(
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2012, 19:16     Сожмите одномерный массив, удалив предшествующие максимальному элементу #6
Scruff, Может если не хватает мозга/сил прочитать ошибку и почитать маны по своему компилятору, может стоит завязывать с программированием?
Scruff
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 7
23.11.2012, 13:57  [ТС]     Сожмите одномерный массив, удалив предшествующие максимальному элементу #7
Цитата Сообщение от ForEveR Посмотреть сообщение
Scruff, Может если не хватает мозга/сил прочитать ошибку и почитать маны по своему компилятору, может стоит завязывать с программированием?
Если такой умный мог бы подсказать. Место обучения не позволит завязать с ним.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
23.11.2012, 13:59     Сожмите одномерный массив, удалив предшествующие максимальному элементу #8
Создайте новый проект, убрав галку с использовать предкомпилированный заголовок...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 14:47     Сожмите одномерный массив, удалив предшествующие максимальному элементу
Еще ссылки по теме:

Функции. массивах A(10) и B(10) все элементы предшествующие первому нулевому элементу заменить на 0,5 C++
C++ В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,5
Все элементы массива, предшествующие максимальному, установить равными минимуму (при определенном условии) C++

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

Или воспользуйтесь поиском по форуму:
Scruff
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 7
23.11.2012, 14:47  [ТС]     Сожмите одномерный массив, удалив предшествующие максимальному элементу #9
Цитата Сообщение от ForEveR Посмотреть сообщение
Создайте новый проект, убрав галку с использовать предкомпилированный заголовок...
Спасибо..
Yandex
Объявления
23.11.2012, 14:47     Сожмите одномерный массив, удалив предшествующие максимальному элементу
Ответ Создать тему
Опции темы

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