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

Найти максимальный элемент массива: неправильный результат, почему? - C++

Восстановить пароль Регистрация
 
anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
23.07.2015, 14:16     Найти максимальный элемент массива: неправильный результат, почему? #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
#include <iostream>
#include <windows.h>
#include <ctime>
#include <iomanip>
using namespace std;
void input(int& a,int& b){
    int arr[a];
    for(int i=0;i<a;i++){
        arr[a]=1+rand()%9;
        cout<<setw(3)<<arr[a];  
    }
    cout<<endl<<endl;
    int arr1[b];
    for(int i=0;i<b;i++){       
        arr1[b]=1+rand()%9;
        cout<<setw(3)<<arr1[b];
    }
    cout<<endl;
}
int Max(int a){
    int arr[a];
    int max1=0;
    for(int i=0;i<a;i++)
    if(arr[i]>max1)
    max1=arr[i];
    cout<<max1;
    return max1;
}
int main(){
    //srand(time(0));
    int a=6,b=7,arr[a],arr1[b];
    input(a,b);
    Max(a);
system("PAUSE");
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2015, 14:16     Найти максимальный элемент массива: неправильный результат, почему?
Посмотрите здесь:

Найти максимальный элемент массива C++
Найти максимальный элемент массива C++
Найти максимальный элемент массива C++
C++ Найти максимальный элемент массива и вывести последний четный элемент
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ture
 Аватар для ture
404 / 297 / 120
Регистрация: 27.11.2014
Сообщений: 1,004
23.07.2015, 14:50     Найти максимальный элемент массива: неправильный результат, почему? #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
#include <iostream>
#include <ctime>
 
using namespace std;
 
void input(int,int,int *,int *);
int Max(int, int *);
 
int main(){
    setlocale(LC_ALL, "rus");
 
    int a = 6, b = 7;
    int * arr = new int[a];
    int * arr1 = new int[b];
 
    input(a, b, arr, arr1);
    cout << "Ну ты блин ваще = " << Max(a, arr) << endl;
 
    delete[] arr;
    delete[] arr1;
 
    system("PAUSE");
    return 0;
}
 
void input(int a, int b, int * arr, int * arr1){
    //srand(time(0));   
    for(int i = 0; i<a; i++){
        arr[i] = 1 + rand() % 9;
        cout << arr[i] << " ";
    }
    cout << endl << endl;
    for(int i = 0; i<b; i++){
        arr1[i] = 1 + rand() % 9;
        cout << arr1[i] << " ";
    }
    cout << endl;
}
int Max(int a, int * p){
    int max = p[0];
    for(int i = 1; i<a; i++)
        if(p[i]>max)
            max = p[i];
    return max;
}
anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
23.07.2015, 15:04  [ТС]     Найти максимальный элемент массива: неправильный результат, почему? #3
ture, А можно решить без указателей? А то мі еще их не проходили, я их слабо понимаю.
ture
 Аватар для ture
404 / 297 / 120
Регистрация: 27.11.2014
Сообщений: 1,004
23.07.2015, 15:18     Найти максимальный элемент массива: неправильный результат, почему? #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
#include <iostream>
#include <ctime>
 
using namespace std;
 
const int a = 6, b = 7;
 
void input(int,int,int[], int[]);
int Max(int,int[]);
 
int main(){
    setlocale(LC_ALL, "rus");
        
    int arr[a];
    int arr1[b];
 
    input(a, b, arr, arr1);
    cout << "max = " << Max(a,arr) << endl;
    
    system("PAUSE");
    return 0;
}
 
void input(int a, int b, int arr[], int arr1[]){
    srand(time(0)); 
    for(int i = 0; i<a; i++){
        arr[i] = 1 + rand() % 9;
        cout << arr[i] << " ";
    }
    cout << endl << endl;
    for(int i = 0; i<b; i++){
        arr1[i] = 1 + rand() % 9;
        cout << arr1[i] << " ";
    }
    cout << endl;
}
int Max(int n,int m[]){
    int max = m[0];
    for(int i = 1; i<n; i++)
        if(m[i]>max)
            max = m[i];
    return max;
}
Yandex
Объявления
23.07.2015, 15:18     Найти максимальный элемент массива: неправильный результат, почему?
Ответ Создать тему
Опции темы

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