Форум программистов, компьютерный форум CyberForum.ru

задача про одномерный массив - C++

Восстановить пароль Регистрация
 
Stomper
0 / 0 / 0
Регистрация: 02.03.2009
Сообщений: 3
17.03.2009, 19:40     задача про одномерный массив #1
Формулировка. Определите второй (по значению) наибольший элемент
одномерного массива A(M).
Формат входных данных. [M] [1-й элемент массива A] [2-й элемент массива
A] и т.д. Элементы массива – целые числа в диапазоне ±1000. M - целое
число в диапазоне [2, 20].
Рекомендуемое кол-во циклических операторов (без ввода и вывода данных):1
думаю нужно сделать корректировку по возрастанию и выделить оттуда нужный элемнт имено с етим циклом у меня проблема вот мой вариант:
Код
for (j=0, j<(A), j++)
     {
      min=MasA[0]
      for (i=1, i<(A), i++)
      if (MasA[i]>min)
        {
          imin=i
          min=MasA[i];
        }
      MasA[imin]=MasA[i];
      MasA[i]=min;
     }
Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alligieri
CEO
Эксперт C++
 Аватар для Alligieri
2246 / 1235 / 24
Регистрация: 16.03.2009
Сообщений: 3,581
17.03.2009, 20:03     задача про одномерный массив #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
#include <iostream.h>
#include <conio.h>
#include <limits.h>
 
int main()
{ int A[INT_MAX];
int max_A,sec_max,prev_max,pointer_sec;
cout<<"Enter M";
cin>>A[0];
prev_max=1;
for (int i=1;i<=A[0];i++)
{ cout<<"Enter A["<<i<<"]";
cin>>A[i];
if (A[i]>max_A)
{sec_max=max_A;
pointer_sec=prev_max;
max_A=A[i];
prev_max=i;
};
};
cout<<"Znachenije= "<<sec_max<<"nomer v massive "<<pointer_sec;;
getch();
return 0;
}
Циклов всего - 1.
Stomper
0 / 0 / 0
Регистрация: 02.03.2009
Сообщений: 3
17.03.2009, 22:03  [ТС]     задача про одномерный массив #3
большое спасибо
цукут
Сообщений: n/a
20.05.2010, 18:27     задача про одномерный массив #4
помогите,эта же самая задача я пошла вот так,но запуталась в фигурных скобочках
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
int _tmain(int argc, _TCHAR* argv[])
 {
int M;
int MasA[20];
int i, j;
int imin;
int min;
int a[20];
scanf("%d",&M);//ввод количество элементов
    if( M<2 || M>20)
    { 
        error_printf("errormessage");
        return 0;
    }
for(int i=0;i<M;i++)
{
    scanf("%lf",&a[i]);//Ввод элементов массива
 
    if (a[i]>1000 || a[i]<-1000 )//проверка введенных данных
    { 
        error_printf("errormessage");
        return 0;
    }
}
    {
        for(int j=0; j<M; j++)
        {
            min=a[0];
            for (int i=1; i<M; i++)
                if(a[i]>min)//сортировка по возрастанию
                {
                    {
                        imin=i;
                        min=a[i];
                    }
                a[imin]=a[i];
                a[i]=min;
                printf("%i",a[i-1]);//вывести 2 элемент с конца
                } 
                else 
                    
                printf("no solution");//не существование второго максимума,если нет выдать сообщение no solution.
        
        }
    }
 
        WAIT_ANY_KEY
}
Yandex
Объявления
20.05.2010, 18:27     задача про одномерный массив
Ответ Создать тему
Опции темы

Текущее время: 00:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru