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

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

Войти
Регистрация
Восстановить пароль
 
L-e-g-e-n-d-a
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 29
#1

Yайти максимальное и минимальное число и его индекс одномерного массива с использованием указателей - C++

21.11.2013, 09:47. Просмотров 508. Ответов 3
Метки нет (Все метки)

Дано одномерный массив найти максимальное и минимальное число и его индекс с использованием указателей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 09:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Yайти максимальное и минимальное число и его индекс одномерного массива с использованием указателей (C++):

Среди чисел массива, встречающихся минимальное число раз, найти максимальное - C++
Дан массив А из N элементов (0<N<1000;0<A<10000). Среди чисел массива, встречающихся минимальное число раз, найти максимальное. Помогите,...

составить программу, которая находит максимальное и минимальное значение среди элементов одномерного массива Y, которая состоит из N целых чисел - C++
составить программу, которая находит максимальное и минимальное значение среди элементов одномерного массива Y, которая состоит из N целых...

Определить максимальное и минимальное число последовательности - C++
1. Написать программу, которая определяет максимальное и минимальное число из введенной с клавиатуры последовательности положительных чисел...

Поменять местами минимальное и максимальное число - C++
Помогите, пожалуйста! При вводе трех чисел надо поменять местами минимальное и максимальное число. Мой код: # include <iostream> ...

В массиве поменять местами его максимальное и минимальное значения - C++
В массиве из 15 вещественных чисел поменять местами его максимальное и минимальное значения.

Нейти максимальное и минимальное число среди введенных - C++
Как дописать код не пойму максимальное нашел а минимальное не могу! Заранее спасибо #include <iostream> using namespace...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
21.11.2013, 09:56 #2
L-e-g-e-n-d-a,
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
#include <iostream>
 using namespace std;
int main(){
    int n,max,min,i_max,i_min;
    cin >> n;
    int *mas = new int[n];
    for (int i = 0; i<n; i++) {
        cin >> *(mas+i);
    }
    max = *mas;
    min = *mas;
    i_max = 0;
    i_min = 0;
    for (int i = 0; i < n; i++) {
        if (*(mas+i) > max) {
            max = *(mas+i);
            i_max = i;
        }
        if (*(mas+i) < min) {
            min = *(mas+i);
            i_min = i;
        }
    }
    cout<<"MAX - INDEX : "<<max<<" - "<<i_max<<endl;
    cout<<"MIN - INDEX : "<<min<<" - "<<i_min<<endl;
    delete[] mas;
    system("pause");
return 0;
}
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
21.11.2013, 09:59 #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
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <cstdlib>
 
int min(int * arr, const size_t SIZE, int & minIdx )
{
    int _min = arr[0];
    for(int i = 0; i < SIZE; ++i)
       if(_min > arr[i])
       {
          _min = arr[i];
          minIdx = i;
       }
    
    return _min;
}
 
int max(int * arr, const size_t SIZE, int & maxIdx )
{
    int _max = arr[0];
    for(int i = 0; i < SIZE; ++i)
       if(_max < arr[i])
       {
          _max = arr[i];
          maxIdx = i;
       }
    
    return _max;
}
 
int main(int argc, char *argv[])
{
    srand(time(0));
    const size_t SIZE = 10;
    int arr[SIZE];
 
    for(int i = 0; i < SIZE; ++i)
       arr[i] = rand() % 10;
       
    int minIndex = -1;
    int maxIndex = -1;
    int minElement = min(arr, SIZE, minIndex);
    int maxElement = max(arr, SIZE, maxIndex);
    
    for(int i = 0; i < SIZE; ++i)
       std::cout << arr[i] << " ";
    std::cout << std::endl;
    
    std::cout << "minElement = " << minElement << " minIndex = " << minIndex << std::endl;
    std::cout << "maxElement = " << maxElement << " maxIndex = " << maxIndex << std::endl;
       
    system("PAUSE");
    return 0;
}
ПерС
371 / 287 / 89
Регистрация: 05.11.2013
Сообщений: 820
Записей в блоге: 5
Завершенные тесты: 1
21.11.2013, 10:06 #4
Цитата Сообщение от L-e-g-e-n-d-a Посмотреть сообщение
Дано одномерный массив найти максимальное и минимальное число и его индекс с использованием указателей.
и что в этой задаче такого, чтоб лезть с ней на форум и полениться поискать то же самое?

работая с массивом ты в любом случае используешь указатели, a[i] - То же самое, что *(a+i)

можно конечно и так написать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main () {
 const int size=100;
 double a[size];
 double min,max;
 int n,i,imin,imax;
 cout << "Введите размерность массива от 2 до " << size << ":";
 cin >> n;
 cout << "Введите элементы массива размерностью " << n << ":";
 for (i=0; i<n; i++) cin >> a[i];
 double *ptr=&a[0];
 min=max=*ptr; imin=imax=0;
 for (i=0; i<n; i++,ptr++) {
  if (*ptr<min) { min=*ptr; imin=i; }
  if (*ptr>max) { max=*ptr; imax=i; }
 }
 cout << "индекс min=" << imin << ", значение=" << min << endl;
 cout << "индекс max=" << imax << ", значение=" << max;
 cin.sync(); cin.get();
 return 0;
}
Введите размерность массива от 2 до 100:3
Введите элементы массива размерностью 3:2 1 4
индекс min=1, значение=1
индекс max=2, значение=4
но только запутывать код

или в этом и цель была?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main () {
 const int size=100;
 double a[size];
 double min,max;
 int n,i,imin,imax;
 cout << "Введите размерность массива от 2 до " << size << ":";
 cin >> n;
 cout << "Введите элементы массива размерностью " << n << ":";
 for (i=0; i<n; i++) cin >> a[i];
 min=max=a[0]; imin=imax=0;
 for (i=0; i<n; i++) {
  if (a[i]<min) { min=a[i]; imin=i; }
  if (a[i]>max) { max=a[i]; imax=i; }
 }
 cout << "индекс min=" << imin << ", значение=" << min << endl;
 cout << "индекс max=" << imax << ", значение=" << max;
 cin.sync(); cin.get();
 return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 10:06
Привет! Вот еще темы с ответами:

Максимальное и минимальное число в столбце матрицы (6×9) - C++
Сформировать матрицу (6×9) целых случайных чисел в диапазоне от 320 до 500, определить макс. число в каждом столбце и сформировать новую...

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

Вывести значения всех элементов одномерного массива с помощью указателей - C++
Вывести значения всех элементов одномерного массива с помощью указателей, * в диапазоне от 0 до 9, при этом вместо каждого элемента со...

В заданном массиве целых чисел найти максимальное и минимальное число - C++
В заданном массиве целых чисел найти максимальное и минимальное число, использую функции определения максимального и минимального числа.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.11.2013, 10:06
Ответ Создать тему
Опции темы

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