![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 19
|
![]()
Как в С можно представить минимальное число в массиве?
У меня есть код, в котором есть массив чисел. Числа определяются псевдо-случайно (rand()). И вот из этих выданных случайных чисел необходимо найти минимальное. Однако программа каждый раз выдает случайное число. Как можно представить минимальное число в функции min чтобы оно небыло случайным, а было минимальным среди полученных значений? Вот такой код: #include <stdio.h> #include <ncurses.h> #include <math.h> #include <stdlib.h> #define N 20 int RandomArr (double M[], double n, double min, double max); int PrintArr (double M[],double n); double min (double M[],double n); int main () { double M[N]; double n; clear; rand(); do { printf("Введите размер массива (3<=n<=20): "); scanf("%lf",&n); } while (n<3||n>N); RandomArr ( M,n,-100,100); PrintArr(M,n); printf("\nМинимальное число в массиве = %lf\n",min(M,n,min,max)); return 0; getch(); } int RandomArr (double M[], double n, double min, double max) { int i; int a=(max-min+1)+min; for(i=0;i<n;i++) { if (M[i] != a) {M[i]=(rand()%100+1)/(rand()%2+1);} } return i; } int PrintArr (double M[],double n) { int i; for(i=0;i<n;i++) printf("%lf\t",M[i]); return i; } double min (double M[], double n) { int mm; int i; for(i=ra;i<n;i++) { if (M[i]<M[i+1]) mm=M[i]; } return mm; } |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 664
|
![]()
Для начала
Код:
Неприятности приходят и уходят, а жизнь продолжается!
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 19
|
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 664
|
![]() Код:
У меня вся программа не компилится. По поводу конкретной функции. 1)double min (double M[], double n) самое первое double, это тип возвращаемой переменной -правильно. double M[], double n -это аргументы функции, те переменные, которые мы ей передаем для работы, здесь явная ошибка как и во всех предыдущих. double M[] - Это сам массив правильно, double n - это д.б количество элементов массива, т.е целое положительное число -int n. int mm; - неправильно, т.к. возвращаемое значение д.б. double, то double mm, потомучто массив данного типа. далее, необходимо этой переменной присвоить мин значение, лучше всего первого элемента массива, т.е double mm=M[0]. for(i=ra;i<n;i++) д.б.for(i=0;i<n;i++) надеюсь понятно почему if (M[i]<M[i+1]) д.б. if (M[i]<mm), ну а далее все правильно. При вызове данной функции ей передаем два аргумента, т.е. вместо Код:
Код:
Неприятности приходят и уходят, а жизнь продолжается!
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 19
|
![]()
Sweta
Спасибо огромное. Помогло. Минимум вычисляется. Вот такой код получился в результате: Код:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 664
|
![]()
Хоть и вычисляется, но читали не внимательно. д.б.
Код:
Неприятности приходят и уходят, а жизнь продолжается!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Представление ориентированного графа | Sheh | C++ Builder | 2 | 16.02.2011 19:28 |
Перевод в числа в текстовое представление (Pascal) | -SG- | Помощь студентам | 4 | 26.11.2009 18:04 |
Различные представление числа N в виде сумм | Дамир | Помощь студентам | 4 | 07.12.2008 21:57 |
Как убрать экспонециальное представление числа | alf19 | Microsoft Office Excel | 2 | 22.07.2008 16:45 |
Просмотр представление числа в памьяти | IgorKr | Общие вопросы Delphi | 1 | 21.11.2007 08:47 |