Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 3

Будет ли ошибкой return в ф-и MinMax?

12.09.2011, 20:36. Показов 2313. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Изучаю язык Си, есть решённая задачка.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#define SIZE 10
/*void*/int* MinMax(int *d, int len, int *mass/*,2 надо ли тут ставить двойку?*/)
{int i;
 int min, max;
min=max=d[0];
for (i=0; i<len; i++)
    {if (d[i]>max) max=d[i];
     if (d[i]<min) min=d[i];
    }
*mass=min;
*(mass+1)=max;
return(mass); /*?????*/
}
 
void main ()
{int data[SIZE]={32,-432,-34,4804,0,884}, mass[2];
MinMax(data, SIZE, mass/*,2  надо ли тут ставить двойку?*/);
printf("min=%d  max=%d\n", *mass, *(mass+1));
}
1. Будет ли ошибкой return в ф-и MinMax?
2. Надо ли ставить двойку в объявлении MinMax'a и зачем?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2011, 20:36
Ответы с готовыми решениями:

Будет ли ошибкой в html5 если я буду закрывать теги?
Например сделаю так &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/templates/newstime/font-awesome/css/font-awesome.min.css&quot;...

Найти вероятность того, что измерение будет произведено с ошибкой
Производится измерение диаметра вала без систематических (одного знака) ошибок. Случайные ошибки измерения X подчинены нормальному закону...

Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}?
package com.company; import java.io.Serializable; public class person implements Serializable { protected String name; ...

28
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
14.09.2011, 13:19
Студворк — интернет-сервис помощи студентам
Сыроежка, А еще логичнее юзать std::minmax)
0
Заблокирован
14.09.2011, 20:21
Цитата Сообщение от MrGluck Посмотреть сообщение
Вообще-то человек просил на СИ
И что из того, что программу нужно написать на С? Разве это означает, что нужно забивать глобальное пространство имен?!!!

Добавлено через 15 минут
Цитата Сообщение от Thinker Посмотреть сообщение
Сыроежка, спасибо, конечно, но мне на С++ не интересно пока, это я и сам могу. Напишите алгоритм на Си.

Добавлено через 19 минут
Ну вот, Сыроежка, спасовали...
Если вы хотите посмотреть, как выглядит код на С, написанный профессиональными программистами, то я вам продемонстрирую На С, очевидно, другая парадигма программирования. Я вам покажу код этой функции, который примут в любом профессиональном проекте. Разве что у кого-нибудь может быть возникнут стилистические замечания.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
typedef struct
{
   int min;
   int max;
} min_max_t;
 
_Bool iMinMax( const int *a, size_t n, min_max_t *result )
{
   if ( n == 0 || a == NULL ) return ( 0 );
 
   result->min = a[0];
   result->max = a[0];
 
   for ( size_t i = 1 ; i < n ; i++ )
   {
      if ( a[i] < result->min ) result->min = a[i];
      if ( result->max < a[i] ) result->max = a[i];
   }
 
   return ( 1 );
}
Представленный код будет компилироваться, если ваш С-компилятор поддерживает стандарт С99. Ежели у вас старый компилятор, то нужно внести лишь два изменения: заменить тип _Bool на int и определение переменной size_t i поместить в начало тела функции.

В клиентском коде использование этой функции может выглядеть следующим образом

C++
1
2
3
4
5
6
7
int a[] = { 1, 4 , -2, 6 ,7 ,4 ,3, -5, 9, 0, -4 };
min_max_t min_max = { 0 };
 
if ( iMinMax( a, sizeof( a ) / sizeof( *a ), &min_max ) )
{
   printf( "minimum = %d, maximum = %d\n", min_max );
}
Добавлено через 2 минуты
Цитата Сообщение от ForEveR Посмотреть сообщение
Сыроежка, А еще логичнее юзать std::minmax)
Я не знаю такой стандартной функции std::minmax, которая соответствует описанный здесь функции.
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.09.2011, 21:07
Цитата Сообщение от Сыроежка Посмотреть сообщение
Если вы хотите посмотреть, как выглядит код на С, написанный профессиональными программистами...
Спорный вопрос о качестве программы...
0
Заблокирован
14.09.2011, 21:22
Цитата Сообщение от Thinker Посмотреть сообщение
Спорный вопрос о качестве программы...
Это только потому, что скорей всего у вас квалификация не высокая! задавайте вопросы, которые считаете спорными, и на них отвечу!
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.09.2011, 21:31
Цитата Сообщение от Сыроежка Посмотреть сообщение
Это только потому, что скорей всего у вас квалификация не высокая! задавайте вопросы, которые считаете спорными, и на них отвечу!

Не по теме:


После такого считаю для себя зазорным что-то у вас спрашивать...Настоящего профессионала видно даже из далека, да и не ведут они себя так, чего о вас не скажешь, к сожалению...

0
Заблокирован
14.09.2011, 21:33
Цитата Сообщение от Thinker Посмотреть сообщение

Не по теме:


После такого считаю для себя зазорным что-то у вас спрашивать...

Когда говорите, что что-то спорно, то конкретно называйте, что спорно. Иначе это просто демагогия!
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.09.2011, 21:51
Цитата Сообщение от Сыроежка Посмотреть сообщение
Когда говорите, что что-то спорно, то конкретно называйте, что спорно. Иначе это просто демагогия!

Не по теме:

Если вы пытаетесь что-то красивое показать, то не стоит бить кулаком в грудь и горланить что-то типа "Я здесь лучший!!!..."

1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
14.09.2011, 23:00
Сыроежка, Жаль. Погуглите что-ли. minmax для двух значений. minmax_element для контейнеров)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,980
15.09.2011, 00:21
Цитата Сообщение от Сыроежка Посмотреть сообщение
конкретно называйте, что спорно
Ну вот например:
Цитата Сообщение от Сыроежка Посмотреть сообщение
printf( "minimum = %d, maximum = %d\n", min_max );
всё-таки
C
1
printf( "minimum = %d, maximum = %d\n", min_max.min, min_max.max );
кошернее, хоть и длиннее. Маленькое изменение в формате вывода - к примеру поле вывода регулируемой ширины ("%*d %*d", ... ) и хана конструкции...


Не по теме:

Цитата Сообщение от Сыроежка Посмотреть сообщение
у вас квалификация не высокая
М-да... Горбатого могила правит...

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2011, 00:21
Помогаю со студенческими работами здесь

Зачем нужно окаймлять аргумент функции return, что будет возвращать данный оператор, если не использовать скобки?
Очередной привет программистам форума, в процессе работы над своим заданием столкнулся с таким вопросом, на самом деле в заголовке...

Будет ли исполняться код, написанный в функции после "return:="?
будет ли исполняться код написанный в функции после result:= или это можно считать возвратом функции и дальше код не исполняется ?


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru