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

найти максимальное в массиве:) - C++

Восстановить пароль Регистрация
 
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
10.02.2010, 22:37     найти максимальное в массиве:) #1
вроде легко вроде и сделал, но неправильный результат выдает(
посмарите плиз, только сильно не ругайтесь... спасибо

вот код

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
#include "stdafx.h"
#include <iostream>
using namespace std;
void printArray(int mas[]);
int max(int mas[]);
 
int _tmain(int argc, _TCHAR* argv[])
{
    int mas[7];
    int value;int rez;
    for(int i=0;i<7;i++)
    {cin>>value;
    mas[i]=value;
    }
    printArray(mas);
    cout<<"\n";
    rez=max(mas);
    cout<<"maximum="<<rez<<"\n";
    
    return 0;
}
void printArray(int mas[])
{
    for(int i=0;i<7;i++)
        cout<<" "<<mas[i];
}
 
int max(int mas[])
{
    int max,i=0;
    max=mas[0];
    for(int i=0;i<7;i++)
    {
        if(mas[i+1]>mas[i])
        max=mas[i+1];
    }
return max;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
10.02.2010, 22:44     найти максимальное в массиве:) #2
используй теги кода...
Всё намного проще.

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
int main(){
const int size = 10;
float mass[size] = {1,2,3,4,-90,100};
 
float Max = mass[0];  
int i ;
for(i=0;i<size;i++){
    if(mass[i]>Max){
    Max = mass[i];
 
    }
 
 
}
 
cout<<"Max\t"<<Max<<'\n';
return 0;
}
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
10.02.2010, 22:53  [ТС]     найти максимальное в массиве:) #3
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
#include "stdafx.h"
#include <iostream>
using namespace std;
void printArray(int mas[]);
int max(int mas[]);
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int size = 10;
    int mas[size];
    int value;int rez;
    for(int i=0;i<size;i++)
    {cin>>value;
    mas[i]=value;
    }
    printArray(mas);
    cout<<"\n";
    rez=max(mas);
    cout<<"maximum="<<rez<<"\n";
    
    return 0;
}
void printArray(int mas[])
{
    for(int i=0;i<10;i++)
        cout<<" "<<mas[i];
}
 
int max(int mas[])
{
    int max,i=0;
    max=mas[0];
    for(int i=0;i<10;i++)
    {
        if(mas[i]>max)
        max=mas[i];
    }
return max;
}
[CPP]
[/CPP]
вот так все работает но сделать пытаюсь с помощью простеньких функций, и тогда const int size = 10; не видит в функциях...заменил на 10...а как сделать чтоб видело эту константу в функциях?
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
10.02.2010, 23:02     найти максимальное в массиве:) #4
dimok
Есть второй вариант передачи массива:
C++
1
2
3
4
5
6
7
8
9
10
11
int max(int *mas, int size)
{
        int max,i=0;
        max=mas[0];
        for(int i=0;i<size;i++)
        {
                if(mas[i]>max)
                max=mas[i];
        }
return max;
}
Добавлено через 1 минуту
Как использовать надеюсь ты знаешь.
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
10.02.2010, 23:03     найти максимальное в массиве:) #5
dimok, в твоих функциях printArray(int mas[]) и max(int mas[]) должен быть второй параметр, который отвечает за размер массива

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
#include "stdafx.h"
#include <iostream>
using namespace std;
void printArray(int mas[],const int);
int max(int mas[],const int);
 
int _tmain(int argc, _TCHAR* argv[])
{
        const int sizeOfArray = 10;
        int mas[sizeOfArray];
        int value;int rez;
        for(int i=0;i<sizeOfArray;i++)
        {cin>>value;
        mas[i]=value;
        }
        printArray(mas,sizeOfArray);
        cout<<"\n";
        rez=max(mas,sizeOfArray);
        cout<<"maximum="<<rez<<"\n";
        
        return 0;
}
void printArray(int mas[],const int size)
{
        for(int i=0;i<size;i++)
                cout<<" "<<mas[i];
}
 
int max(int mas[],const int size)
{
        int max;
        max=mas[0];
        for(int i=0;i<size;i++)
        {
                if(mas[i]>max)
                max=mas[i];
        }
return max;
}
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
10.02.2010, 23:08  [ТС]     найти максимальное в массиве:) #6
Linking...
mas_sr.obj : error LNK2019: unresolved external symbol "int __cdecl max(int * const)" (?max@@YAHQAH@Z) referenced in function _wmain
mas_sr.obj : error LNK2019: unresolved external symbol "void __cdecl printArray(int * const)" (?printArray@@YAXQAH@Z) referenced in function _wmain
D:\учеба_проги\!mas_sr\Debug\mas_sr.exe : fatal error LNK1120: 2 unresolved externals

ыы( что за ошибки? код последнего варианта..
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
10.02.2010, 23:12     найти максимальное в массиве:) #7
C++
1
2
3
4
5
6
7
#include <algorithm>
 
int main()
{
  int array[] = {33, 44, 22, 11, 99, 3};
  int  maximum = *std::max_element(array, array + sizeof(array) / sizeof(*array));  
}
shelest3
 Аватар для shelest3
7 / 7 / 2
Регистрация: 08.02.2010
Сообщений: 8
10.02.2010, 23:45     найти максимальное в массиве:) #8
С помощью простеньких функций :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
void main()
{
    setlocale ( LC_ALL, "Russian" );
    const int n = 10;
    int ar[n], arMax = 0;
    for ( int i = 0; i < n; i ++ )
    {
        cout << " введите " << i << " элемент массива : ";
        cin >> ar[i];
    }
    for ( int i = 0; i < n; i ++ )
    {
        if ( arMax < ar[i] ) arMax = ar[i];
    }
    cout << "\n\n maximum = " << arMax << "\n\n";
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2010, 00:52     найти максимальное в массиве:)
Еще ссылки по теме:

В заданном массиве целых чисел найти максимальное и минимальное число C++
Найти максимальное значение элемента на промежутке [a; b] в динамическом массиве. Классы С++ C++
В одномерном массиве найти элемент, повторяющийся максимальное число раз C++

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
11.02.2010, 00:52     найти максимальное в массиве:) #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <valarray>
 
int main()
{
    const int n = 10;
    std::valarray<int> array(n);
 
    for(int i = 0; i < n; ++i)
    {
        std::cout << " введите " << i << " элемент массива : ";
        std::cin >> array[i];
    }
 
    std::cout << array.max() << std::endl;
 
    return 0;
}
Yandex
Объявления
11.02.2010, 00:52     найти максимальное в массиве:)
Ответ Создать тему
Опции темы

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