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

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

Войти
Регистрация
Восстановить пароль
 
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
#1

Как можно укоротить.... - C++

16.06.2009, 16:54. Просмотров 882. Ответов 14
Метки нет (Все метки)

Как можно укоротить код?
Дан массив из 5 ячеек, потом надо ввести 5 чисел которые поместятся туда, а потом найти наибольшее из этих 5 чисел.

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>
using namespace std;
 
void main()
{
    int arr[5];
    for (int i = 0; i < 5; i++)
    {
        cout << "Vvedite " << i + 1 << " chislo: ";
        cin >> arr[i];
    }
    int bol = arr[0];
    for (int q = 0; q < 5; q++)
    {
        if (bol < arr[q])
        {
            bol = arr[q];
        }
        
    }
    cout << "Camoe 6olshoe chislo: " << bol; 
    cin.get();
    cin.get();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.06.2009, 17:04     Как можно укоротить.... #2
Цитата Сообщение от diman94x Посмотреть сообщение
Как можно укоротить код?
никак)в принципе можно, но я сомневаюсь, что это будет то, что вам нужно.
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
16.06.2009, 17:37     Как можно укоротить.... #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
#include <stdio.h>
 
int main(int argc, char * argv [])
{
    const short N = 5;
    int arr[N];
 
    for(int i = 0; i < N; i++)
    {
        printf("Arr[%d]: ", i + 1);
        scanf_s("%d", & arr[i]);
    }
 
    short max = arr[0];
 
    for(int j = 1; j < N; j++)
    {
        arr[j] > max ? max = arr[j] : NULL;
    }
 
    printf("Big number: %d\n", max);
 
    return 0;
}
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.06.2009, 17:39     Как можно укоротить.... #4
Search.., а в чем собственно упрощение?
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
16.06.2009, 17:41     Как можно укоротить.... #5
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Search.., а в чем собственно упрощение?

Не по теме:

Как в чем ?! Моя прога занимает 24 строки, а его - 25

Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
16.06.2009, 17:43     Как можно укоротить.... #6
diman94x,

Как можно укоротить код?
Дан массив из 5 ячеек, потом надо ввести 5 чисел которые поместятся туда, а потом найти наибольшее из этих 5 чисел.

short max = *std::max_element(arr, arr+N);
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
16.06.2009, 17:47     Как можно укоротить.... #7
Rififi: А в какой библиотеки std::max_element(); ?
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
16.06.2009, 17:51     Как можно укоротить.... #8
определение функции содержится в заголовочном файле algorithm
Evg
Эксперт CАвтор FAQ
17306 / 5554 / 347
Регистрация: 30.03.2009
Сообщений: 15,114
Записей в блоге: 26
16.06.2009, 18:00     Как можно укоротить.... #9
Упростить можно, выкинув массив вообще, и сразу же при вводе делать сравнние
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
16.06.2009, 19:22     Как можно укоротить.... #10
Цитата Сообщение от diman94x Посмотреть сообщение
Дан массив из 5 ячеек
Цитата Сообщение от Evg Посмотреть сообщение
выкинув массив вообще
немножко нестыковочка получится
Evg
Эксперт CАвтор FAQ
17306 / 5554 / 347
Регистрация: 30.03.2009
Сообщений: 15,114
Записей в блоге: 26
16.06.2009, 19:25     Как можно укоротить.... #11
Всмысле по условию обязательно их в массив засовывать? Просто зачем их засовывать, если можно этого не делать?
Nazz
WEB-developer
896 / 727 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
16.06.2009, 19:31     Как можно укоротить.... #12
етот код и так очень прост)))куда уже проще)))
CyBOSSeR
Эксперт C++
2298 / 1668 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.06.2009, 20:18     Как можно укоротить.... #13
Цитата Сообщение от Evg Посмотреть сообщение
Всмысле по условию обязательно их в массив засовывать? Просто зачем их засовывать, если можно этого не делать?
По-моему, Evg прав. И любой здравомыслящий преподаватель оценит такой способ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <limits>
 
int main()
{
  int max = -std::numeric_limits<int>::max();
 
  for(int i = 0; i < 5; ++i){
    int num;
 
    std::cout << "Number#" << i + 1 << ": ";
    std::cin >> num;
    
    if(num > max)
      max = num;
  }
 
  std::cout << "Max number: " << max << std::endl;
  
  return 0;
}
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
16.06.2009, 20:37  [ТС]     Как можно укоротить.... #14
я ж говорю что: "Дан массив...."
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2009, 20:43     Как можно укоротить....
Еще ссылки по теме:

Укоротить строку до определенной длины C++
C++ Как можно исправить
Как можно перегрузить [][]? C++
Как укоротить код? C++
C++ Как подключить функцию? Как это можно исправить?

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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
2298 / 1668 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.06.2009, 20:43     Как можно укоротить.... #15
Цитата Сообщение от diman94x Посмотреть сообщение
я ж говорю что: "Дан массив...."
Тогда нужно использовать
Цитата Сообщение от Rififi Посмотреть сообщение
short max = *std::max_element(arr, arr+N);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
 
int main()
{
  int arr[5];
  
  for(int i = 0; i < 5; ++i){
    std::cout << "Number#" << i + 1 << ": ";
    std::cin >> arr[i];
  }
 
  std::cout << "Max number: " << *std::max_element(arr, arr + 5) << std::endl;
  
  return 0;
}
Yandex
Объявления
16.06.2009, 20:43     Как можно укоротить....
Ответ Создать тему
Опции темы

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