С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 30.10.2012
Сообщений: 57
1

Процедуры и функции: Разработать функцию,которая находит 2 наибольших элемента массива

02.04.2013, 22:22. Показов 705. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста)))
Разработать функцию,которая находит 2 наибольших элемента массива

Добавлено через 12 минут
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
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
int main () {
    int n;
    printf ("n\n");
    scanf ("%i",&n);
    int max;
    int max2;
    int j=0;
    int* mas = (int*)malloc(n*(sizeof(int)));
    for (int i=0; i<n; i++) {
    scanf ("%i",&mas[i]);
    }
    max = mas[0];
    max2 = mas[0];
    for (int i=0; i<n; i++) {
        if (mas[i] > max) {
            max = mas[i];
            j=i;
        }
    } // находим самый большой, запоминаем индекс j
    if (max == mas[0]) {
        max2 = mas[1]; // для того, чтобы первый и второй максимальный элементы не совпадали
    }
    for (int i=0; i<n; i++) {
        if ((i != j)) { // чтобы не брать еще раз максимальный элемент
        if ((mas[i] >= max2) && (mas[i] <= max)) {
            max2 = mas[i];
            }
        }
    }
        printf ("%i %i",max,max2);
        getch();
        return 0;
        free(mas);
    }
какай-то бредовый код получился,подскажите пожалуйста,как его можно оптимизировать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
02.04.2013, 22:22
Ответы с готовыми решениями:

Разработать функцию,которая находит 2 наибольших элемента массива
Помогите пожалуйста))) Разработать функцию,которая находит 2 наибольших элемента массива

Разработать функцию, которая находит два наибольших элемента массива
Реализовать функцию, производящую операции над одномерным массивом согласно варианта задания....

Разработать функцию, которая находит оптимумы математической функции, заданной на некотором интервале
нужен код &quot;Разработать функцию, которая находит оптимумы математической функции, заданной на...

Разработать функцию, которая находит корень
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень n+n....

2
...
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
03.04.2013, 04:22 2
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
#include <stdio.h>
#include <stdlib.h>
 
int get2MaxFromArray(int* array, size_t size, int* max1, int* max2)
{
   *max1 = -1;
   *max2 = -1;
 
   size_t i;
   for (i = 0; i < size; ++i)
   {
      if ((*max1 == -1) || (array[i] > array[*max1]))
      {
         *max2 = *max1;
         *max1 = i;
      }
      else if ((*max2 == -1) || (array[i] > array[*max2]))
      {
         *max2 = i;
      }
   }
 
   return (*max1 != -1) && (*max2 != -1);
}
 
int main()
{
   size_t n;
   printf("array size: ");
   scanf("%u", &n);
 
   printf("array: ");
   size_t i;
   int* mas = (int*)malloc(n * (sizeof(int)));
   for (i = 0; i < n; i++)
   {
      scanf("%i", &mas[i]);
   }
 
   int max1, max2;
 
   if (get2MaxFromArray(mas, n, &max1, &max2))
   {
      printf("%i %i\n", mas[max1], mas[max2]);
   }
   else
   {
      printf("two max not found\n");
   }
 
   free(mas);
 
   system("pause");
 
   return 0;
}
Процедуры и функции: Разработать функцию,которая находит 2 наибольших элемента массива


Бинарник + исходник: program.7z
1
1 / 1 / 0
Регистрация: 30.10.2012
Сообщений: 57
03.04.2013, 18:59  [ТС] 3
Огромное спасибо
0
03.04.2013, 18:59
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
03.04.2013, 18:59
Помогаю со студенческими работами здесь

Разработать функцию, которая находит НОД двух целых чисел.
Разработать функцию, которая находит НОД двух целых чисел.

Разработать функцию, которая находит НОК двух целых чисел.
Разработать функцию, которая находит НОК двух целых чисел.

Разработать функцию, которая находит НОК трех целых чисел.
Разработать функцию, которая находит НОК трех целых чисел.

Разработать и испытать функцию которая находит слово состоящее из 5 букв
Разработать и испытать функцию, которая находит слово, состоящее из 5 букв Помогите, пожалуйста


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru