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

максимальный(простая) - C++

Восстановить пароль Регистрация
 
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 22:04     максимальный(простая) #1
что то я туплю...
подскажите алгоритм
Миниатюры
максимальный(простая)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 22:04     максимальный(простая)
Посмотрите здесь:

C++ Простая задача?
простая задача C++
C++ Максимальный элемент матрицы заменить на нуль и вывести на печать угол матрицы, в котором расположен этот максимальный элемент
Максимальный элемени матрицы заменить на нуль и вывести на печать угол матрицы, в котором расположен этот максимальный элемент C++
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.12.2010, 22:09     максимальный(простая) #2
Егорка47,
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
#include <iostream>
using namespace std;
 
int main()
{
        int in, max;
 
        cout << "> ";
        cin >> in;
 
        max = in;
 
        for( int i = 1; i < 10; i++ )
        {
                cout << "> ";
                cin >> in;
 
                if ( in > max )
                {
                        max = in;
                }
        }
 
        cout << "max : " << max << endl;
 
        return 0;
}
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 22:11     максимальный(простая) #3
Чуть попроще)

int largest = 0, number = 0;
for (int counter=0;counter<10;counter++)
{
cin>>number;
if (number>largest) largest=number;
}

cout<<largest;
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 22:12  [ТС]     максимальный(простая) #4
надо было попросить только подсказку,а то теперь задача решена и так не интересно..все равно спасибо)
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
26.12.2010, 22:13     максимальный(простая) #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#define SIZE 10
 
int maximum(int* mass, int size)
{
  int tmp=mass[0];
  for (int i=1;i<SIZE;i++) if(tmp<mass[i]) tmp=mass[i];
  return tmp;
}
 
int main()
{
  int mass[SIZE];
  for (int i=0;i<SIZE;i++) cin >> mass[i];
  cout << maximum(mass, SIZE) << endl;
}
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 22:15  [ТС]     максимальный(простая) #6
Цитата Сообщение от vx5 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#define SIZE 10
 
int maximum(int* mass, int size)
{
  int tmp=mass[0];
  for (int i=1;i<SIZE;i++) if(tmp<mass[i]) tmp=mass[i];
  return tmp;
}
 
int main()
{
  int mass[SIZE];
  for (int i=0;i<SIZE;i++) cin >> mass[i];
  cout << maximum(mass, SIZE) << endl;
}
ой ой...я не дошел до массивов и указателей еще)
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
26.12.2010, 22:16     максимальный(простая) #7
Цитата Сообщение от Merlin666 Посмотреть сообщение
Чуть попроще)

int largest = 0, number = 0;
for (int counter=0;counter<10;counter++)
{
cin>>number;
if (number>largest) largest=number;
}

cout<<largest;
а если на вход идут отрицательные числа? ваша программа выдаст 0, которого не вводили.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.12.2010, 22:16     максимальный(простая) #8
Цитата Сообщение от Merlin666 Посмотреть сообщение
Чуть попроще)
Это не чуть проще, а не правильно! Что по-вашему будет, если ввести 10 отрицательных чисел?
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 22:17     максимальный(простая) #9
логично)лаг увидел)
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 22:24  [ТС]     максимальный(простая) #10
Цитата Сообщение от asics Посмотреть сообщение
for( int i = 1; i < 10; i++ )
тут кстати должно быть не так разве?
C++
1
for( int i = 1; i <= 10; i++ )
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.12.2010, 22:29     максимальный(простая) #11
Егорка47, Нет, все правильно должно быть так
C++
1
for( int i = 1; i < 10; i++ )
так -как есть еще это
C++
1
2
cout << "> ";
cin >> in;
в не цыкла одни раз, в цыкле 9 = 10
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
26.12.2010, 22:31     максимальный(простая) #12
нет, ты же первый элемент считал. Вот осталось 9
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.12.2010, 22:39     максимальный(простая) #13
Merlin666, Если написать так
C++
1
for( int i = 1; i <= 10; i++ )
результат програмы будет следующий
Код
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
> 11
max : 11

Process returned 0 (0x0)   execution time : 8.422 s
Press any key to continue.
а если так как я в самом начале написал
Код
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
max : 10

Process returned 0 (0x0)   execution time : 5.703 s
Press any key to continue.
разницу улавлеваете ?
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
26.12.2010, 23:13  [ТС]     максимальный(простая) #14
вроде да..
ну а если бы мы написали вместа for while:

C++
1
2
3
4
5
6
7
int max, in, i = 1;
while ( i <= 10 ){
 cout << ">";
 cin >> in;
 if ( in > max )
 // и так далее..
}
то напечатолсь бы так?

Цитата Сообщение от asics Посмотреть сообщение
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
max : 10
Process returned 0 (0x0) execution time : 5.703 s
Press any key to continue.
Добавлено через 26 минут
а как в этой же задаче найти 2 максимальных элемента?!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2010, 23:16     максимальный(простая)
Еще ссылки по теме:

C++ Заменить максимальный элемент в матрице, средним арифметическим элементов строки, в которой находится максимальный элемент
C++ найти максимальный элемент массива x(15) . переставить местами этот максимальный элемент с индексом 4
C++ Найти максимальный элемент (из 10 чисел) и следующий за ним максимальный элемент

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.12.2010, 23:16     максимальный(простая) #15
Цитата Сообщение от Егорка47 Посмотреть сообщение
а как в этой же задаче найти 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
#include <iostream>
using namespace std;
 
int main()
{
        int in, max1, max2;
 
        cout << "> ";
        cin >> in;
 
        max1 = max2 = in;
 
        for( int i = 1; i < 10; i++ )
        {
                cout << "> ";
                cin >> in;
 
                if ( in > max1 )
                {
                        max2 = max1;
                        max1 = in;
                }
                else
                        if ( in < max1 && ( in > max2 || max2 == max1 ) )
                                        max2 = in;
        }
 
        cout << "max1 : " << max1 << endl
                 << "max2 : " << max2 << endl;
 
        return 0;
}
Yandex
Объявления
26.12.2010, 23:16     максимальный(простая)
Ответ Создать тему
Опции темы

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