Массивы

  • Автор темы F1ghT3r
  • Дата начала
F

F1ghT3r

#1
Подскажите пожалуйста, что надо изменить, чтоб программа определяла максимальный массив.
// Поиск минимального элемента массива
// (доступ к элементам при помощи указателя)
#include <stdio.h>
#include <conio.h>
#define HB 5 // размер массива
void main()
{
int a[HB]; // массив
int *min; // номер минимального элемента
int *p; // указатель на элемент массива
int i;
printf("\nПоиск минимального элемента массива\n");
printf("Введите в одной строке элементы массива,\n");
printf("%i целых чисел, и нажмите <Enter>\n",HB);
printf("-> ") ;
p = a;
for (i= 1; i <= HB; i++)
scanf("%i", p++);
min = a; // пусть первый элемент минимальный
p = a + 1;
// теперь р содержит адрес второго элемента
// сравним оставшиеся эл-ты массива с миниимальным
for (i = 2; i <= HB; i++)
{
if (*p < *min) min = p;
p++; //к следующему элементу
}
printf("Минимальный элемент массива: %i\n", *min);
printf("\nДля завершения нажмите <Enter>");
getch();
}
 
J

JORIK

#2
задание неправильное!Что значит "максимальный массив"? Наверное,максимальный элемент массива?Напишу функцию,определяющую минимальный элемент массива

#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>

#define N 20

double getMax(double A[], int n)
{

double max = A[0];

int i;

for (i = 1; i < n; i++)
{
if (A > max)
max = A;
}

return max;
}

int main()
{

int i;

double A[N];

srand(time(0));

rand();

for ( i = 0; i < N; i++ )
A = rand() % 19;

for ( i = 0; i < N; i++ )
printf("%lf\t", A);

// Вычисление максимального элемента

double f = getMax (A, N); // Вызов getMax


printf("\nMax element = %lf\n", f);

return 0;
}

при необходимости замени double на int