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

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

Войти
Регистрация
Восстановить пароль
 
Juliii
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 32
#1

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

12.06.2014, 00:08. Просмотров 572. Ответов 3
Метки нет (Все метки)

В массиве (введенном пользователем) найти максимальный элемент среди отрицательных массива и найти минимальный элемент среди положительных элементов массива помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 00:08     Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива
Посмотрите здесь:
C++ Найти наибольший среди отрицательных и наименьший среди положительных элементов массива
Найти максимальный элемент среди отрицательных элементов массива C++
C++ Найти минимальный элемент среди положительных элементов массива
Найти минимальный элемент среди положительных элементов заданного массива C++
C++ В массиве найти максимальный элемент среди положительных элементов массива
C++ Определить максимальный элемент среди положительных нечетных элементов и минимальный среди положительных четных элементов
Матрица с fstream. Найти максимум среди отрицательных и минимум среди положительных элементов C++
C++ В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов
Определить минимальный элемент массива среди положительных элементов C++
C++ Определить максимальный элемент массива среди положительных нечетных элементов
C++ Найти максимальный элемент среди положительных элементов матрицы А
Найти максимальный элемент и его номер среди отрицательных элементов. C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dima1996
4 / 4 / 0
Регистрация: 24.01.2013
Сообщений: 96
12.06.2014, 01:11     Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива #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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
const int n=25;
void vvod(int a[n], int *k);
void vivod(int a[n], int k);
void min_max(int a[n], int k, int imaxo, int iminp);
void ar_swap(int a[n], int imaxo, int iminp);
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a[n],k,imaxo,iminp;
    vvod(a,&k);
    printf("ishodnbli massiv\n");
    vivod(a,k);
    min_max(a,k,imaxo,iminp);
    ar_swap(a,imaxo,iminp);
    printf("rezylbtiryuschii massiv\n");
    vivod(a,k);
    getch();
    return 0;
}
void vvod(int a[n], int *k)
/*vvod: вводит количество эл-тов массива k и вводит эл-ты массива*/
{
    printf("Vvedite kolichestvo elementov massiva\n");
    scanf("%d",k);
    printf("vvedite %d el-tov mas-va\n",*k);
    for(int i=0; i<*k; i++)
    {
        /*printf("vvedite %d-i el-t mas-va\n",i+1);*/
        scanf("%d",&a[i]);
    }
}
void vivod(int a[n], int k)
/*vivod: выводит эл-ты массива*/
{
    for(int i=0; i<k; i++)
    {
    printf("%d ",a[i]);
    printf("\n");
    }
}
void min_max(int a[n], int k, int imaxo, int iminp)
/*nim_max: определяет минимальный эл-т среди положительных и максимальный среди отрицательных*/
{
    int fo=1,fp=1;
    for(int i=0; i<k; i++)
    {
        if (a[i]>0)
        {
            if (fp)
            {
                fp=0;
                iminp=i;
            }
        }
        else if (a[iminp]>a[i])
            iminp=i;
    
        else if (a[i]<0)
        if (fo)
        {
            fo=0;
            imaxo=i;
    }
        else if (a[imaxo]<a[i])
            imaxo=i;
        }
}
/*ar_swap: меняет эл-ты массива местами*/
void ar_swap(int a[n], int imaxo, int iminp)
{
    int d=a[imaxo];
    a[imaxo]=a[iminp];
    a[iminp]=d;
}
Код нашёл в интернете, так что по вопросам не ко мне.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
12.06.2014, 01:28     Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива #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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <conio.h>
 
int main()
{
    int SIZE;
    std::cout << "Type array size: "; std::cin >> SIZE;
    float* arr = new float[SIZE];
    float max_negative = 0, min_positive = 0;
    for(int i = 0; i < SIZE; i++)
    {
        std::cout << "#" << i + 1 << ": ";
        std::cin >> arr[i];
        if(arr[i] > 0) min_positive = arr[i];
        if(arr[i] < 0) max_negative = arr[i];
    }
    
    for(int i = 0; i < SIZE; i++)
    {
        if(arr[i] < 0 && max_negative < arr[i]) max_negative = arr[i];
        if(arr[i] > 0 && min_positive > arr[i]) min_positive = arr[i];
    }
    
    if(max_negative == min_positive)
        std::cout << "\nMax negative: No such number"   <<
                     "\nMin positive: No such number"   << std::endl;
    else if(!max_negative)
        std::cout << "\nMax negative: No such number"   <<
                     "\nMin positive: " << min_positive << std::endl;
    else if(!min_positive)
        std::cout << "\nMax negative: " << max_negative <<
                     "\nMin positive: No such number"   << std::endl;
    else
        std::cout << "\nMax negative: " << max_negative <<
                     "\nMin positive: " << min_positive << std::endl;
    
    delete [] arr;
    
    std::cout << "\nOperation succeeded\n";
    getch();
    return 0;
}
Trwsdf
Заблокирован
12.06.2014, 09:27     Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива #4
C++
1
2
3
4
5
6
7
8
9
   int min = INT_MAX, max = numeric_limits<int>::min(), size = (cin>>size, size);
    for (int i = 0, j; i < size; i++) {
        if ((cin >> j, j) >= 0) {
            if (min > j)min = j;
        } else
            if (max < j)max = j;
        cout << j << " ";
    }
    cout << endl << min << " " << max;
Yandex
Объявления
12.06.2014, 09:27     Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива
Ответ Создать тему
Опции темы

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