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

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

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

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

16.06.2009, 16:54. Просмотров 902. Ответов 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();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2009, 16:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как можно укоротить.... (C++):

Подскажите, как можно упростить/укоротить код - мини-калькулятора? - C++
Дорогие форумчане! Посоветуйте как можно укоротить, точнее упростить нижеследующий код: #include &lt;iostream&gt; using namespace...

Как укоротить код? - C++
У меня есть отдельный класс для логирования, он используется в других классах, выглядит это так: ConsoleLog::LogSuccess(&quot;Успешно&quot;); ...

Укоротить строку до определенной длины - C++
Здравствуйте. Не могли бы подсказать как можно укоротить строчку до определенной длины??

Укоротить более длинный контейнер - C++
Здравствуйте, написал по заданию Липманна небольшую программку, которая сверяет элементы двух контейнеров: встроенного массива и вектора. У...

Укоротить переменную от мусора в конце. - C++
Добрый день. Хочу задать один вопрос. Я объявил 2 переменные. char rezstr; и char RetWhot; Первую в начале библиотеки использую...

Как можно сделать что бы в консольном окне можно было вызвать контекстное меню как в win cmd? - C++
Если вызвать cmd в windows то в нем можно вызывать контекстное меню и совершать различные полезные действия (копирование/вставка). А те...

14
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.06.2009, 17:04 #2
Цитата Сообщение от diman94x Посмотреть сообщение
Как можно укоротить код?
никак)в принципе можно, но я сомневаюсь, что это будет то, что вам нужно.
1
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;
}
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.06.2009, 17:39 #4
Search.., а в чем собственно упрощение?
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
16.06.2009, 17:41 #5
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Search.., а в чем собственно упрощение?

Не по теме:

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

0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
16.06.2009, 17:43 #6
diman94x,

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

short max = *std::max_element(arr, arr+N);
2
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
16.06.2009, 17:47 #7
Rififi: А в какой библиотеки std::max_element(); ?
0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
16.06.2009, 17:51 #8
определение функции содержится в заголовочном файле algorithm
0
Evg
Эксперт CАвтор FAQ
18040 / 6272 / 428
Регистрация: 30.03.2009
Сообщений: 17,254
Записей в блоге: 28
16.06.2009, 18:00 #9
Упростить можно, выкинув массив вообще, и сразу же при вводе делать сравнние
0
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
16.06.2009, 19:22 #10
Цитата Сообщение от diman94x Посмотреть сообщение
Дан массив из 5 ячеек
Цитата Сообщение от Evg Посмотреть сообщение
выкинув массив вообще
немножко нестыковочка получится
0
Evg
Эксперт CАвтор FAQ
18040 / 6272 / 428
Регистрация: 30.03.2009
Сообщений: 17,254
Записей в блоге: 28
16.06.2009, 19:25 #11
Всмысле по условию обязательно их в массив засовывать? Просто зачем их засовывать, если можно этого не делать?
0
Nazz
WEB-developer
896 / 727 / 11
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
16.06.2009, 19:31 #12
етот код и так очень прост)))куда уже проще)))
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 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;
}
0
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
16.06.2009, 20:37  [ТС] #14
я ж говорю что: "Дан массив...."
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 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;
}
1
16.06.2009, 20:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2009, 20:43
Привет! Вот еще темы с ответами:

Можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву - C++
подскажите можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву? т.е. не массив классов я имею ввиду, а...

Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода - C++
Поле шахмотной доски определяеся парой натуральных чисел, каждая из которых не превосходит восьми: первое число номер вертикали (при счете...

Как можно считать файл *.pas или *.cpp как текстовый ? - C++
ifstream abc (&quot;*.pas&quot;,ios::text); не работает, ибо у ios нет параметра text

Как можно представить множества как вектора произвольной длины - C++
Собственно в названии всё сказано.. Не совсем понимаю как это можно представить на C++.. если имеется в виду массив, то понятно, но...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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