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

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

Восстановить пароль Регистрация
 
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
08.12.2010, 20:06     Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х #1
Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х. Удалить из массива все нулевые элементы

Добавлено через 22 часа 37 минут
нужно до завтра для зачета..помогите..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 20:06     Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х
Посмотрите здесь:

C++ Определить максимальный элемент среди положительных нечетных элементов и минимальный среди положительных четных элементов
Найти минимальный среди положительных элементов массива C++
C++ Определить максимальный и минимальный элементы среди элементов в четных столбцах
Определить максимальный элемент среди положительных элементов C++
Создать массив, выводим сумму всех нечетных/четных элементов, найти минимальный и максимальный элементы C++
C++ Найти минимальный элемент среди положительных элементов массива
C++ Определить минимальный элемент среди положительных элементов
C++ Матрица D(4,4). Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.12.2010, 02:31     Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х #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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
 
int * find_first(int * arr, int * next, int (*test_func)(int)){
    return ( arr >= next ) ? NULL : ( test_func(*arr) ) ? arr : find_first(++arr, next, test_func);
}
 
int is_zero(int val){
    return ( ! val );
}
 
int is_positive_odd(int val){
    return ( ( val > 0 ) && ( val & 1 ) );
}
 
int main(void){
    int * arr, * maxptr, * minptr, * foundptr;
    size_t size, i;
    
    srand(time(NULL));
    
    printf("Number of elements: ");
    if ( scanf("%u", &size) != 1 ){
        fprintf(stderr, "Input error!\n");
        exit(1);
    }
    
    if ( ( arr = (int*)malloc(sizeof(int) * size) ) == NULL ){
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
    
    printf("Array:\n");
    for ( i = 0; i < size; ++i )
        printf("%3d%c", ( arr[i] = rand() % 21 - 10 ), ( i < size - 1 ) ? ' ' : '\n');
    
    if ( ( minptr = find_first(arr, arr + size, is_positive_odd) ) == NULL ){
        fprintf(stderr, "Search error!\n");
        free(arr);
        exit(1);
    }
    maxptr = minptr;
    for ( foundptr = find_first(minptr + 1, arr + size, is_positive_odd); foundptr; 
        foundptr = find_first(foundptr + 1, arr + size, is_positive_odd) ){
            if ( *foundptr < *minptr )
                minptr = foundptr;
            if ( *foundptr > *maxptr )
                maxptr = foundptr;
    }
    
    printf("Min positive odd: %d\nMax positive odd: %d\n", *minptr, *maxptr);
    
    while ( foundptr = find_first(arr, arr + size, is_zero) ){
        if ( memmove(foundptr, foundptr + 1, sizeof(int) * ( size - (foundptr + 1 - arr)) ) == NULL ){
            perror("memmove");
            free(arr);
            exit(1);
        }
        if ( ( arr = (int*)realloc(arr, sizeof(int) * --size ) ) == NULL ){
            perror("realloc");
            free(arr);
            exit(1);
        }
    }
    printf("Without zero elements:\n");
    for( i = 0; i < size; ++i )
        printf("%3d%c", arr[i], ( i < size - 1 ) ? ' ' : '\n');
    
    free(arr);
    exit(0);
}
Yandex
Объявления
09.12.2010, 02:31     Определить максимальный и минимальный элементы среди положительных нечетных элементов целочисленного массива Х
Ответ Создать тему
Опции темы

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