Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.11.2019
Сообщений: 2
1

Оптимизации кода

08.11.2019, 23:09. Показов 396. Ответов 3

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
int main()
{
    int n;
    cin >> n;
    string str;
    int answer = 0;
    char a = 'c', b = 'm';
    cin >> str;
    while (n != 0)
    {
            swap(a, b);
            while (str[0] == a)
            {
                str.assign(str, 1, n - 1);
                n--;
            }
            while (str[n - 1] == b)
            {
                str.assign(str, 0, n - 1);
                n--;
                if (n == 0)
                    break;
            }
            if (n != 0)
            {
                answer++;
            }
    }
    cout << answer << endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2019, 23:09
Ответы с готовыми решениями:

Методы оптимизации кода
Написал статью по оптимизации кода на С++. Ее можно почитать тут: А вы какие еще способы...

Просмотр кода после оптимизации компилятора
Здравствуйте! Известно, что компилятор оптимизирует код. А можно ли посмотреть оптимизированный код...

Объяснить нюансы оптимизации заданного фрагмента кода
Наткнулся на статью по оптимизации кода на C++http://itw66.ru/blog/c_plus_plus/13.html]ссылка Есть...

Параллельная сортировка пузырьком, жду советов по оптимизации кода
Составил многопоточную сортировку пузырьком за счет динамических массивов, библиотекой thread(для...

3
Вездепух
Эксперт CЭксперт С++
12757 / 6641 / 1786
Регистрация: 18.10.2014
Сообщений: 16,796
08.11.2019, 23:17 2
Цитата Сообщение от Good_fruit Посмотреть сообщение
Оптимизации кода
Сделайте просто

C++
1
int main() {}
---

Кстати, а почему у вас во втором цикле есть

C++
1
2
if (n == 0)
  break;
а в первом - нет?
0
0 / 0 / 0
Регистрация: 08.11.2019
Сообщений: 2
09.11.2019, 05:38  [ТС] 3
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Сделайте просто

C++
1
int main() {}
---
Не понимаю что ты здесь предложил.

Кстати, а почему у вас во втором цикле есть

C++
1
2
if (n == 0)
  break;
а в первом - нет?
Верное замечание но оно абсолютно не ускоряет код.
0
Вездепух
Эксперт CЭксперт С++
12757 / 6641 / 1786
Регистрация: 18.10.2014
Сообщений: 16,796
09.11.2019, 07:16 4
Цитата Сообщение от Good_fruit Посмотреть сообщение
Не понимаю что ты здесь предложил.
Я предложил вообще весь код выкинуть. Скорость будет максимальная (!), а багов - никаких. Чем вас не устраивает это решение?

Цитата Сообщение от Good_fruit Посмотреть сообщение
Верное замечание но оно абсолютно не ускоряет код.
В смысле "не ускоряет"? Сначала нужно думать о том, чтобы код работал правильно. А потом уж можно будет думать об каких-то "ускорениях". Ваш код вообще не работает, т.е. просто падает из-за этого грубого бага. С этого надо начинать.
0
09.11.2019, 07:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2019, 07:16
Помогаю со студенческими работами здесь

Функция считывания данных из файла: прошу совет по оптимизации кода
Код работает, но изящным его назвать очень тяжело. Прошу советов по сокращению и оптимизации...

Мешает ли разделение кода на объявление (.h) и определение (.cpp) inline оптимизации?
Читал что когда включают хедер но не реализацию в единицу трансляции, это мешает компилятору...

Рекомендации по оптимизации/ускорению кода и памяти, разбор ключей, профилирование приложений в VS и не только
Вечер добрый форум, у меня на данный момент VS2010. Я так понимаю настройки сохраняется только для...

Нужен совет в оптимизации кода
Нужно оптимизировать метод Deallocate, который переводит нужный указатель из allotted в exempted,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru