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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 86, средняя оценка - 4.78
Enigmya
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
#1

Минимальное и максимальное значение в массиве. С++ - C++

12.02.2011, 12:28. Просмотров 12922. Ответов 15
Метки нет (Все метки)

Есть задача:
/*1. Дан одномерный массив. Необходимо вывести на экран
индексы максимального и минимального элементов данного массива*/
Не могу понять, что не так.
Код
	#include <iostream>
	using namespace std;
	int main()								//инициализирую тело программы
{
	setlocale(LC_ALL,"Russian");
	const int arraySize = 10;			// указывает размер массива 			
	int A[arraySize];					// объявление массива
		int max_elem = A[0]; // максимальное значение в массиве
	int min_elem = A[0]; // минимальное значение в массиве
	int index_max = 0; // индекс максимального значения
	int index_min = 0; // индекс минимального значения
	cout << "Введите массив из 10 элементов. \n";
	for (int j=0; j<arraySize; j++)		//создаю цикл повторяющийся n раз
{
	cout << "A[" << j << "]= ";			//ввод элементов массива
	cin>>A[j]; 
}
	for (int j = 0; j < arraySize; j++)
{
if (max_elem < A[j])
{
max_elem = A[j];
index_max = j;
}
if (min_elem > A[j])

min_elem = A[j];
index_min = j;
}
	cout << "Максимальное значение = " << max_elem << "его индекс =" << index_max<< '\n';
	cout << "Минимальное значение = " << min_elem << "его индекс =" << index_min<< '\n';
	system("pause");
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2011, 12:28     Минимальное и максимальное значение в массиве. С++
Посмотрите здесь:
Найти минимальное и максимальное значение в массиве C++
C++ Вывести минимальное и максимальное значения в массиве
C++ В массиве поменять местами его максимальное и минимальное значения
C++ Максимальное или минимальное значение
Найти максимальное и минимальное значение C++
В заданном массиве целых чисел найти максимальное и минимальное число C++
C++ Найти максимальное и минимальное значение функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 12:32     Минимальное и максимальное значение в массиве. С++ #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
#include <iostream>
using namespace std;
int main()                                                              //инициализирую тело программы
{
    setlocale(LC_ALL,"Russian");
    const int arraySize = 10;                       // указывает размер массива                     
    int A[arraySize];                                       // объявление массива
    int index_max = 0; // индекс максимального значения
    int index_min = 0; // индекс минимального значения
    cout << "Введите массив из 10 элементов. \n";
    for (int j=0; j<arraySize; j++)         //создаю цикл повторяющийся n раз
    {
        cout << "A[" << j << "]= ";                     //ввод элементов массива
        cin>>A[j]; 
    }
    int max_elem = A[0]; // максимальное значение в массиве
    int min_elem = A[0]; // минимальное значение в массиве
    for (int j = 0; j < arraySize; j++)
    {
        if (max_elem < A[j])
        {
            max_elem = A[j];
            index_max = j;
        }
        if (min_elem > A[j])
        {
            min_elem = A[j];
            index_min = j;
        }//скобки забыли
    }
    cout << "Максимальное значение = " << max_elem << "его индекс =" << index_max<< '\n';
    cout << "Минимальное значение = " << min_elem << "его индекс =" << index_min<< '\n';
    system("pause");
}
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.02.2011, 12:35     Минимальное и максимальное значение в массиве. С++ #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
#include <iostream>
 
using namespace std;
 
int main()                                                              //инициализирую тело программы
{
      setlocale(LC_ALL,"Russian");
      const int arraySize = 10;                       // указывает размер массива                     
      int A[arraySize];                                       // объявление массива
      int max_elem; // максимальное значение в массиве
      int min_elem; // минимальное значение в массиве
      int index_max = 0; // индекс максимального значения
     int index_min = 0; // индекс минимального значения
       cout << "Введите массив из 10 элементов. \n";
        for (int j=0; j<arraySize; j++)         //создаю цикл повторяющийся n раз
           {
                cout << "A[" << j << "]= ";                     //ввод элементов массива
                cin>>A[j]; 
           }
        max_elem=A[0];
        min_elem=A[0];
        for (int j = 0; j < arraySize; j++)
           {
               if (max_elem < A[j])
                 {
                     max_elem = A[j];
                     index_max = j;
                 }
               if (min_elem > A[j])
                 {
                     min_elem = A[j];
                     index_min = j;
                 }
           }
        cout << "Максимальное значение = " << max_elem << "его индекс =" << index_max<< '\n';
        cout << "Минимальное значение = " << min_elem << "его индекс =" << index_min<< '\n';
        system("pause");
        return 0;
}
Опоздал
papochka
12.02.2011, 12:37
  #4

Не по теме:

опоздал...

Enigmya
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
12.02.2011, 12:42  [ТС]     Минимальное и максимальное значение в массиве. С++ #5
Программа запускается, но, появляется, вот такая ошибка: Run-Time Check Failure #3 - The variable 'A' is being used without being initialized.
И return нужен все же или нет?
papochka
32 / 32 / 2
Регистрация: 14.11.2009
Сообщений: 137
12.02.2011, 12:44     Минимальное и максимальное значение в массиве. С++ #6
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 <iostream>
using namespace std;
 
int main()                                                        
{
    setlocale(LC_ALL,"Russian");
    const int arraySize = 10;                                       
    int A[arraySize];                                      
 
    int index_max = 0; 
    int index_min = 0; 
 
    cout << "Введите массив из 10 элементов.\n";
 
    for (int j=0; j<arraySize; j++)         
    {
        cout << "A[" << j << "]= ";                     
        cin>>A[j]; 
    }
    int max_elem = A[0]; 
    int min_elem = A[0]; 
 
    for (int j = 0; j < arraySize; j++)
    {
        if (max_elem < A[j])
        {
            max_elem = A[j];
            index_max = j;
        } 
 
        if (min_elem > A[j])
        {
            min_elem = A[j];
            index_min = j;
        }
    }
    cout << "Максимальное значение = " << max_elem << "его индекс =" << index_max<< '\n';
    cout << "Минимальное значение = " << min_elem << "его индекс =" << index_min<< '\n';
    system("pause");
}
А так?

Тебе уже в первом посте это дали.
Ты получаешь минимальное и максимальное значение ещё до инициализации массива. Вот отсюда и ошибка. Как вариант, просто перенести ниже....
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.02.2011, 12:48     Минимальное и максимальное значение в массиве. С++ #7
Enigmya, в програме которую вы привели, вы питаетесь присвоить переменным max_elem и min_elem значение 0-елемента не инициализированого массива, короче говоря - мусор. Потому и возникает ошыбка. Вы пробовали приведеные ниже программы? Та, которую привел я отлично работает.
Enigmya
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
12.02.2011, 12:50  [ТС]     Минимальное и максимальное значение в массиве. С++ #8
Сори, спасибо, все работает)

Добавлено через 1 минуту
и все же же, return не обходим или нет?
Busine2009
Заблокирован
12.02.2011, 12:53     Минимальное и максимальное значение в массиве. С++ #9
Enigmya,
ошибки были следующие.
Переменные
max_elem и min_elem
надо заполнять было, после заполнения массива данными.
Для if в 25 строке нет фигурных скобок, а используется 2 команды.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.02.2011, 12:55     Минимальное и максимальное значение в массиве. С++ #10
Enigmya, так

C++
1
2
3
4
5
int main()
{
..........
return 0;
}
а так, нет
C++
1
2
3
4
void main()
{
.....
}
Добавлено через 56 секунд

Не по теме:

Busine2009, немного опоздали)))))))))))

papochka
12.02.2011, 12:55
  #11

Не по теме:

MILAN, Да собсно мы друг друга все повторили....

Enigmya
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
12.02.2011, 13:01  [ТС]     Минимальное и максимальное значение в массиве. С++ #12
А принципиальная разница, когда использовать int, а когда void? или все равно?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.02.2011, 13:06     Минимальное и максимальное значение в массиве. С++ #13
Enigmya, принципиальной разницы нету. Я, к примеру, всегда использую int main(), и на форуме много советовали использовать именно ету конструкцию. Хотя кому как удобнее.
Busine2009
Заблокирован
12.02.2011, 13:08     Минимальное и максимальное значение в массиве. С++ #14
Цитата Сообщение от MILAN Посмотреть сообщение
Enigmya, принципиальной разницы нету. Я, к примеру, всегда использую int main(), и на форуме много советовали использовать именно ету конструкцию. Хотя кому как удобнее.
для чего то же это нужно. Может быть, что-то старое, а что-то новое.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.02.2011, 13:21     Минимальное и максимальное значение в массиве. С++ #15
Busine2009, если дело идет о фукциях, то использовать int надо тогда, когда функция возвращает что то(в даном примере тип int), а void - если функция ничего не возвращает. А конкретно про main здесь обсуждалось

Возврат из функции int main() в С++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2011, 18:18     Минимальное и максимальное значение в массиве. С++
Еще ссылки по теме:
C++ Выборка массива максимальное/минимальное значение
C++ Максимальное и минимальное значение элемента массива
Вывести максимальное и минимальное значение из массива C++
Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве C++
C++ Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве

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

Или воспользуйтесь поиском по форуму:
Digit@ll
Brainsbreaker
877 / 355 / 29
Регистрация: 01.02.2011
Сообщений: 1,541
12.02.2011, 18:18     Минимальное и максимальное значение в массиве. С++ #16
Цитата Сообщение от Enigmya Посмотреть сообщение
И return нужен все же или нет?
А компилятор что говорит...?

Вот и поступайте, как считаете нужным.
Yandex
Объявления
12.02.2011, 18:18     Минимальное и максимальное значение в массиве. С++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru