1 / 1 / 0
Регистрация: 30.11.2018
Сообщений: 11
1

Работа с массивами, используя указатели

27.01.2019, 19:17. Показов 589. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Функция FindMax должна находить максимальный элемент массива и возвращать его адрес.
С помощью возвращаемого значения этой функции требуется вывести индекс этого максимального числа в массиве.
В программе не должна быть использована форма индексации с квадратными скобками при работе с массивами.

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
#include <stdio.h>
 
void ReadArray(int *pArr, int len);
void PrintArray(int *pArr, int len);
int *FindMax(int *pArr, int len);
 
int main(void)
{
    int arrLen = 7;
    int arr[arrLen];
    int *pMax;
    
    ReadArray(arr, arrLen);
    PrintArray(arr, arrLen);
    pMax = FindMax(arr, arrLen); //присвоение адреса максимального элемента
    printf("Greatest number is %d and its address is %p\n", *pMax, pMax);
    printf("Maximum number is %d bytes from the beginning of the array ", arr - pMax);
    printf("and its index is %d", (arr - pMax) / sizeof(int)); //индекс в массиве
    
    return 0;
}
 
void ReadArray(int *pArr, int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        printf("Number %d: ", i + 1);
        scanf("%d", &*pArr);
        pArr++;
    }
}
 
void PrintArray(int *pArr, int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        printf(" %d. %5d @ %p\n", i + 1, *pArr, pArr);
        pArr++;
    }
}
 
//находит наибольшее значение массива, возвращает его адрес
int *FindMax(int *pArr, int len)
{
    int i;
    int max;
        max = *pArr;
    for (i = 1; i < len; i++)
    {
         if (*(pArr + i) > max)
        {
            max = *(pArr + i);
            //pArr++;
        }
    }
    return pArr;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2019, 19:17
Ответы с готовыми решениями:

Работа с массивами через указатели
прошу,помогите! нужно написать следующую программу,используя указатели: ввести целочисленный...

Работа с массивами через указатели, адреса. Функция сортировки выбором любого массива
Надо было написать программу сортировки с использованием функций из учебника. соответственно...

Работа с массивами используя форму
замечание. Задачи из данного пункта решить двумя способами, используя одномерный массив, а затем...

Используя нетипизированные указатели и указатели на подпрограммы обобщить сортировку пузырьком
Смысл задания в том, что нужно отсортировать массив структур из 3х полей по сумме координат есть...

1
57 / 40 / 21
Регистрация: 26.09.2018
Сообщений: 215
27.01.2019, 19:24 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int *FindMax(int *pArr, int len)
{
    int i, max = *pArr, offset = 0;
    for (i = 1; i < len; i++)
    {
         if (*(pArr + i) > max)
        {
            max = *(pArr + i);
            offset = i;
        }
    }
    return pArr + offset;
}
1
27.01.2019, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2019, 19:24
Помогаю со студенческими работами здесь

Есть три переменные. Используя указатели на указатели, поменять значение максимальной и минимальной переменной
Мой код. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include&lt;iomanip&gt; using namespace std; ...

указатели с массивами
Привет.Помогите пожалуйста решить задачу. В массиве А вставить после первого максимального...

Как работают указатели с массивами
Хочу на простом примере перестановки двух элементов уяснить - как работают указатели с массивами,...

Указатели. Связь между указателями и массивами
Помогите написать программу на языке С Написать функцию, которая находит элемент в массиве целых...

Указатели при работе с одномерными и двумерными массивами
Помогите Даны натуральное число n, целые числа а1,...,аn . Выяснить, имеется ли среди чисел...

Как использовать указатели при работе с массивами?
подскажите пожалуйста как правильно использовать указатели при работе с массивами. Как написать этк...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru