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

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

Войти
Регистрация
Восстановить пароль
 
Nurlybek
0 / 0 / 0
Регистрация: 05.07.2014
Сообщений: 7
#1

Сократить количество символов кода - C++

30.07.2014, 17:05. Просмотров 339. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fstream>
using namespace std;
int main(){ifstream f("input.txt");
ofstream c("output.txt");
int a,m[11111],q,r=0;
f>>a;
for(int i=0;i<a;i++)
    {f>>m[i];
}f>>q;
while(q)
{
for(int i=0;i<a;i++)
(m[i]-1>=0 ? m[i]--,r++:1);
q--;
}
c<<r;
 
}
помогите сократить код
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2014, 17:05     Сократить количество символов кода
Посмотрите здесь:

Повысить читаемость и сократить объём кода (рефакторинг) - C++
Привет, у меня тут небольшая проблема. Я писал код, который в меню, при нажатии пользователем буквы &quot;s&quot; или &quot;w&quot;, двигает стрелочки,...

Сократить код до 101 - 120 символов - C++
есть задача ! есть код #include &lt;fstream&gt; int main(){ std::fstream q(&quot;input.txt&quot;),o(&quot;output.txt&quot;,2); int n,a,i,j,s=0; q&gt;&gt;n; ...

Сократить код. Задача про сравнение символов - C++
набросал решение вышесказаной задачи вот код #include &lt;fstream&gt; main(int k){ std::fstream i(&quot;input.txt&quot;),o(&quot;output.txt&quot;, 2); ...

Подскажите, как сократить время работы кода? Проверка на простое число - C++
#include &lt;iostream&gt; using namespace std; int main() { int x, k = 0; cin &gt;&gt; x; for (int i = 1; i &lt;= x;...

Разработать функцию, которая меняет слова, содержащие заданную комбинацию символов, на соответствующее количество символов # - C++
Разработать функцию, которая меняет в предложении все слова, содержащие заданную комбинацию символов на соответствующее количество символов...

присвоение ASCII кода последних 2 символов слова переменной - C++
здравствуйте! мне нужна помощь! мне нужно решить следующую задачу: &quot;найти сумму АSCII кодов последних двух символов слова (если слово...

For each с массивом символов - выяснить причину неработоспособности приведенного кода - C++
Компилятор ругается на примерно такой код: void foo(char cArray) { for each (char c in cArray) {...} }

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
30.07.2014, 17:15     Сократить количество символов кода #2
Цитата Сообщение от Nurlybek Посмотреть сообщение
помогите сократить код
Лучше задание бы написал.
Nurlybek
30.07.2014, 17:16  [ТС]
  #3
 Комментарий модератора 
Пишем задание ручками
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
30.07.2014, 19:00     Сократить количество символов кода #4
Nurlybek, ну зачем вот так изгаляться?(
C++
1
2
for(int i=0;i<a;i++)
(m[i]-1>=0 ? m[i]--,r++:1);
неужели через if написать хуже?
C++
1
2
3
4
5
6
for (int i = 0; i < a; ++i)
    if (m[i] >= 0)
    {
        m[i]--;
        ++r;
    }
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
30.07.2014, 19:24     Сократить количество символов кода #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
25
26
int main()
{
    ifstream f("input.txt");
    ofstream c("output.txt");
    if(!f || !c)
         return 0;
    int a;f>>a;
    int* m=new int[a];
    for(int i=0;i<a;i++)
            f>>m[i];
    int q;f>>q;
    int r=0;
    for(;q;q--)
    {
        for(int i=0;i<a;i++)
              if(m[i]>=1)
              { 
                  m[i]--;
                  r++;
              }
    }
    delete[] m;
    c<<r;
    close(c);
    return 0;
}
SlavaSSU
215 / 160 / 45
Регистрация: 17.07.2012
Сообщений: 587
30.07.2014, 21:11     Сократить количество символов кода #6
могу ошибаться, но мне кажется под "сократить код" ТС имел в виду вот это:

C++ (Qt)
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
#include <iostream>
 
using namespace std;
 
int m[111111];
 
int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int n, q;
    scanf("%d %d", &n, &q);
    for(int i = 0; i < n; i++)
        scanf("%d", &m[i]);
 
    long long answer = 0;
    for(int i = 0; i < n; i++)
    {
        int can = max(0, min(q, m[i]));
        answer += can;
    }
 
    printf("%lld\n", answer);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2014, 21:29     Сократить количество символов кода
Еще ссылки по теме:

Вычислить общее количество символов в строке и количество букв "а" - C++
Доброго времени суток, граждане программисты. У меня вот задание:&quot;Ввести фамилию, имя, отчество, как одно данное. Вычислить общее...

количество символов - C++
как сделать лимит на количество символов в строке при выводе?

Как уменьшить количество кода? - C++
Здравствуйте. Имеется костыль код. Этот код делает типа &quot;сколько чисел вместится в одно большое число&quot;. Так, как я с С++ недавно, решил...

Количество введенных символов - C++
подскажите есть задание С клавиатуры вводится последовательность символов до тех пор, пока не встретится символ, не являющийся цифрой....

найти количество символов - C++
Приветствую всех! Имеется следующая задача: Напишите программу, которая открывает текстовый файл, читает его символ за символом до самого...


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

Или воспользуйтесь поиском по форуму:
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
30.07.2014, 21:29     Сократить количество символов кода #7
Я думаю, ТС хочет чтоб в его коде было минимальное количество символов.
Yandex
Объявления
30.07.2014, 21:29     Сократить количество символов кода
Ответ Создать тему
Опции темы

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