ПДД, вождение

Написать функцию, возвращающую максимальное число в массиве (с максимальным количеством элементов 120).

#include <stdio.h>
#include <math.h>
#include <conio.h>

int maximum (int q, int n);

{
srand(time(NULL));
return n*rand(%q) ;
}

int main()

{
int massiv[120];
int i, maxi;

for (i=0; i<119; i++)
{
massiv = maximum(1,10);
}

do
{
i++;

printf ("%d\n",massiv);

if (massiv>maxi)
maxi=massiv;
} while (i<120);

printf ("%d\n",maxi);

return 0;
getch ();
}
Максимум всегда ищут одинаково. В цикле по индексу в пределах длины массива сравнивают каждый элемент массива со значением переменной, играющей роль текущего максимума. Если текущий элемент больше текущего максимума, то этот элемент сам становится текущим максимумом.
В Вашем случае обращайтесь к элементам массива в цикле: massiv > maxi
MS
Musulmanka Subhanalloh
207
Лучший ответ
#include <stdio.h>
#include <math.h>
#include <conio.h>

int maximum (int q, int n); // точка с запятой здесь не нужна, иначе как прототип компилятор воспримет
{
srand(time(NULL)); // эти функции не помню, наверно правильно кроме %q - это что за фигня?
return n*rand(%q) ;
}

int main()

{
int massiv[120];
int i, maxi;

for (i=0; i<119; i++)
{
massiv = maximum(1,10); // massiv[ i ]> должно быть
}

// сюда надо вставить i = 0; maxi = massiv[0]; иначе в i и в maxi "мусор" будет.

do
{
i++;

printf ("%d\n",massiv); // massiv[ i ] должно быть, дальше везде тоже.

if (massiv>maxi)
maxi=massiv;
} while (i<120);

printf ("%d\n",maxi); // тут лучше покрасивше вывести, типа printf ("maxi = %d\n",maxi);

return 0;
getch (); // после return это не будет выполняться
}

// Вроде ничего не упустил.

upd: А, просили же функцию написать. Надо в main'е оставить заполнение массива, а поиск вывести в отдельную функцию, массив по указателю передавать.

Похожие вопросы