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

Упростить код

16.04.2012, 21:01. Показов 723. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать рекурсивную функцию , возвращающую значение : для перевода числа из двоичной системы счисления в десятичную;

Как упростить код задачи?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include <cstdio>
using namespace std; 
char szBin[] = "101010111";
 
unsigned bin2dec( const char* szBin, const unsigned uCurrVal ){
  assert( 0 == *szBin || '0' == *szBin || '1' == *szBin );
  if( *szBin ){
    return bin2dec( szBin+1, uCurrVal*2 + (*szBin=='0'?0:1) ); 
  }else{
    return uCurrVal;
  }
}
 
int main(){
  printf( "%d", bin2dec( szBin, 0 ) );
}
Добавлено через 2 часа 22 минуты
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.04.2012, 21:01
Ответы с готовыми решениями:

Упростить код
Добрый день, подскажите, можно ли упростить код (используя уровень знаний как в оригинале)? #include &lt;iostream&gt; #include...

Упростить код
Добрый вечер. Такая задача. Исходные данные: вектор размерностью кратной 3 Выходные данные: вектор, получающийся из исходного...

упростить код
есть решена задача, надо упростить, из того перебора в инструкции switch() на enum ( перечисленный тип, мб через рандом но чет не выходит...

2
 Аватар для fragnat
11 / 11 / 5
Регистрация: 17.12.2009
Сообщений: 77
16.04.2012, 23:24
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
 
int main () {
    char c[10] = "101010111";
    int result=0;
    for(int i=0;i<9;i++)
    {
        if( (c[i]<'0') || (c[i] > '1') ) break;
        result<<=1;
        result+=c[i]-'0';
    }
    printf("\n%d\n",result);
    getch();
};
Пожалуйста, код основан на: https://www.cyberforum.ru/post72014.html
Упс, видимо я ошибся с заданием.. оставлю пост тут вдруг кому пригодится.
1
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
17.04.2012, 08:01
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
 
unsigned int binToDec( const unsigned int bin, const int powOfTwo = 1 ) {
   return ( bin > 0 ? bin % 10 * powOfTwo + binToDec( bin / 10, powOfTwo * 2 ) : 0 );
}
 
int main( ) {
   std::cout << binToDec( 1111 ) << std::endl;
 
   return 0;
}
Вывод.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.04.2012, 08:01
Помогаю со студенческими работами здесь

Упростить код
#include&lt;iostream&gt; using namespace std; int main() { int a, b, c, d = 0, g = 0, f = 0; cin &gt;&gt; a &gt;&gt; b &gt;&gt; c; if (a &gt; 0) d++; ...

Упростить код
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { size_t rowsCount; cout &lt;&lt; &quot;N: &quot;; cin...

Упростить код
Добрый вечер! Есть задача: дан вещественный массив, определить номер столбца с наибольшим количеством положительных элементов. После...

Упростить код
Написал программу, но код слишком громоздкий и хочется знать, как его можно сократить #include &lt;iostream&gt; #include...

Упростить код
Создавал раннее тему с таковой задачей:Нужен код для шифрования русскоязычного текста методом простой подстановки(каждой букве алфавита...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru