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

Найти максимальный и минимальный элементы массива до и после удаления - C++

Восстановить пароль Регистрация
 
наташа ч
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 23
28.01.2011, 13:58     Найти максимальный и минимальный элементы массива до и после удаления #1
Удалить из массива последнюю группу элементов, представляющих
собой знакочередующийся ряд. Найти максимальный и минимальный
элементы массива до и после удаления.


помогите решить, я не разбираюсь в этом, а завтра экзамен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2011, 13:58     Найти максимальный и минимальный элементы массива до и после удаления
Посмотрите здесь:

C++ Найти максимальный и минимальный элементы массива S(n) и поменять их местами
C++ Массив А(50). Найти минимальный и максимальный элементы массива.
Найти минимальный и максимальный элементы массива и их порядковые номера C++
C++ Найти максимальный и минимальный элементы одномерного массива
Найти максимальный и минимальный элементы массива и их сумму. C++
Найти максимальный элемент массива, и удалить после него все нечетные элементы C++
C++ Массив. Найти максимальный и минимальный по модулю элементы массива
C++ Найти максимальный и минимальный элементы массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
28.01.2011, 15:08     Найти максимальный и минимальный элементы массива до и после удаления #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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
 
#define SIZE 10
#define L_T -15
#define R_T  15
 
void printArray(int* a, size_t size);
void findMinMax(int* a, size_t size, int* minH, int* maxH);
 
int main()
{
    int* pBeg;
    int* pEnd;
    int array[SIZE];
    size_t i;
    size_t size = SIZE;
    int min;
    int max;
        
    srand((size_t) time(NULL));
    for(i = 0; i < SIZE; ++i)
    array[i] = rand() % (R_T - L_T + 1) + L_T;
    puts("Initial array:");
    printArray(array, SIZE);
    for(pEnd = array + SIZE - 1; (pEnd != array) && (*pEnd * *(pEnd - 1) >= 0); --pEnd)
    ;
    for(pBeg = pEnd; (pBeg != array) && (*pBeg * *(pBeg - 1) < 0); --pBeg)
    ;
 
    findMinMax(array, size, &min, &max);
    printf("Max = %d, min = %d\n", max, min);
    
    if(pBeg == pEnd)        /* Если указатели равны, знакоч. ряды не найдены */
    puts("No alternating series has been found."); 
    else
    {
    size -= pEnd - pBeg + 1;
    
    puts("The last alternating series:");
        printArray(pBeg, pEnd - pBeg + 1);
 
    puts("Deleting the alternating series...");
    memmove(pBeg, pEnd + 1, (array + SIZE - pEnd) * sizeof(int));
    printArray(array, size);
 
    if(size)
    {
        findMinMax(array, size, &min, &max);
        printf("Max = %d, min = %d\n", max, min);
    }
    else
        puts("The resulting array is empty.");
    }
        
    exit(0);    
}
 
void printArray(int* a, size_t size)
{
    size_t i;
    
    printf("[%u]{ ", size);
    for(i = 0; i < size; ++i)
    printf("%d ", a[i]);
    puts("}");
}
 
void findMinMax(int* a, size_t size, int* minH, int* maxH)
{
    size_t i;
    *minH = *maxH = *a;
    
    for(i = 1; i < size; ++i)
    {
    if(a[i] < *minH)
        *minH = a[i];
    if(a[i] > *maxH)
        *maxH = a[i];
    }
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
28.01.2011, 15:52     Найти максимальный и минимальный элементы массива до и после удаления #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
27
#include <iostream>
#include<iterator>
#include<algorithm>
using namespace std;
 
int main(){
    vector<int> res, v((istream_iterator<int>(cin)), istream_iterator<int>());
    cout<<"max= "<<*max_element(v.begin(), v.end())<<"\n";
    cout<<"min= "<<*min_element(v.begin(), v.end())<<"\n\n";
    vector<int>::reverse_iterator it, ir;
    for(it=v.rbegin(); it!=v.rend(); ++it){
        for(ir=it+1; ir!=v.rend(); ++ir){
            if(*(ir-1)**ir>=0){
                break;
            }
        }
        if(ir-it>1){
            v.erase(ir.base(), it.base());
            break;
        }
    }
    for(int i=0; i<v.size(); i++) cout<<v[i]<<" ";
    if(!v.empty()){
        cout<<"\nmax= "<<*max_element(v.begin(), v.end())<<"\n";
        cout<<"min= "<<*min_element(v.begin(), v.end())<<"\n";
    }
}
Yandex
Объявления
28.01.2011, 15:52     Найти максимальный и минимальный элементы массива до и после удаления
Ответ Создать тему
Опции темы

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