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

Перевод чисел из десятичной СС в произвольную на С++ - C++

Восстановить пароль Регистрация
 
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
07.02.2013, 01:01     Перевод чисел из десятичной СС в произвольную на С++ #1
надеюсь в любимые ошибки не запишется.. вновь одни и те же ошибочки,или ошибочка не выводится решение..
правда эту програмку я из головы придумала в отличие от предыдущейможет чтото намудрила??
перевести в 20ричную СС число 0,5498

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
#include <stdio.h> 
#include<math.h> 
#include <stdlib.h> 
int main() 
{ 
int y,k,z; 
int rez2[4]; 
float drob,pr; 
drob=0.5498 ;/заданное число/
y=20; /новая СС/
printf("4islo %5.4f po osnvanijy 10 = ", drob); 
k=0; 
do 
{pr=drob*y; /oдна операция умножения даёт ровно один дополнительный знак в системе счисления, из целой части дроби / 
rez[k]=floor(pr); /округление до меньшего целого,один дополнительный знак в новой СС/ 
drob=pr-rez[k]; /на каждом шаге целая часть отбрасывается и умножается только дробная часть/ 
k++; /количество знаков в новой СС/ 
} 
while (k>4); /будут выводится 4 знака новой СС/
for (z=1;z>k;z++) 
printf("%d",rez2[z]); /вывод нового числа по новому основанию на экран/ 
printf(" po osnovanijy 20\n"); 
system("pause"); 
return 0; 
}
где ошибочка??
на что мне стоит обращать внимание, чтоб избегать таких ошибок?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nocl1p
37 / 22 / 10
Регистрация: 30.03.2012
Сообщений: 299
07.02.2013, 01:10     Перевод чисел из десятичной СС в произвольную на С++ #2
А что компилятор пишет?
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
07.02.2013, 01:19     Перевод чисел из десятичной СС в произвольную на С++ #3
начните разбор ошибок с того, что комменатрии пишутся // на строчку или /* до */, но никак не просто /
и вообще учитесь понимать ответы компилятора на ваш код, это очень полезно

ну а дальше по мелочам - в одном месте у вас rez, а вдрух других откуда-то rez2 ни с того не ссего
nocl1p
37 / 22 / 10
Регистрация: 30.03.2012
Сообщений: 299
07.02.2013, 01:21     Перевод чисел из десятичной СС в произвольную на С++ #4
И откуда взялось вот это rez[k]?

Добавлено через 21 секунду
в обьявлении rez2[k]
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
07.02.2013, 01:28  [ТС]     Перевод чисел из десятичной СС в произвольную на С++ #5
Цитата Сообщение от abit Посмотреть сообщение
начните разбор ошибок с того, что коменатрии пишутся // на строчку или /* до */, но никак не просто /
я коментарии только здесь писала - для себя можно сказать. что понимаю что делаю..у меня в программе их нет.


а компилятор на типы ругался вот в этой строке
C++
1
rez2[k]=floor(pr);
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
07.02.2013, 01:30     Перевод чисел из десятичной СС в произвольную на С++ #6
Цитата Сообщение от Маринчик Посмотреть сообщение
я коментарии только здесь писала - для себя можно сказать. что понимаю что делаю..у меня в программе их нет.


а компилятор на типы ругался вот в этой строке
C++
1
rez2[k]=floor(pr);
ругался он потому что rez у вас никак не заявлен вообще, он не знает что с ним делать
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
07.02.2013, 01:31  [ТС]     Перевод чисел из десятичной СС в произвольную на С++ #7
Цитата Сообщение от nocl1p Посмотреть сообщение
в обьявлении rez2[k]
да..а в проге везде rez2[k]..эт я здесь уже походу ваську наваляла
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
07.02.2013, 01:35     Перевод чисел из десятичной СС в произвольную на С++ #8
Цитата Сообщение от Маринчик Посмотреть сообщение
да..а в проге везде rez2[k]..эт я здесь уже походу ваську наваляла
смотрю на вашу прогу, что вы дали:

15 строка:
rez[k]=floor(pr); /округление до меньшего целого,один дополнительный знак в новой СС/

следом, 16 строка:
drob=pr-rez[k];

где объявления массива rez? я вижу только rez2

где вообще у вас строка

rez2[k]=floor(pr);

на которую ругается компилятор, я что-то её не вижу
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
07.02.2013, 01:52  [ТС]     Перевод чисел из десятичной СС в произвольную на С++ #9
буду учиться и доставать всех своими вопросами
исправляю то что вижу для начала и понимаю.
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
#include <stdio.h> 
#include<math.h> 
#include <stdlib.h> 
int main() 
{ 
int y,k,z; 
int rez2[4]; 
float drob,pr; 
drob=0.5498 ;/заданное число/
y=20; /новая СС/
printf("4islo %5.4f po osnvanijy 10 = ", drob); 
k=0; 
do 
{pr=drob*y; /oдна операция умножения даёт ровно один дополнительный знак в системе счисления, из целой части дроби / 
rez2[k]=floor(pr); /округление до меньшего целого,один дополнительный знак в новой СС/ 
drob=pr-rez2[k]; /на каждом шаге целая часть отбрасывается и умножается только дробная часть/ 
k++; /количество знаков в новой СС/ 
} 
while (k>4); /будут выводится 4 знака новой СС/
for (z=1;z>k;z++) 
printf("%d",rez2[z]); /вывод нового числа по новому основанию на экран/ 
printf(" po osnovanijy 20\n"); 
system("pause"); 
return 0; 
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4928 / 2671 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
07.02.2013, 03:42     Перевод чисел из десятичной СС в произвольную на С++ #10
Цитата Сообщение от Маринчик Посмотреть сообщение
на что мне стоит обращать внимание, чтоб избегать таких ошибок?
на книги, вам необходимо именно поэтапное обучение, вы хапаете кусками то там то сям, подгоняя изучение в рамки выполнения задачи, при этом суть вещей протекает мимо вас.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 23:34     Перевод чисел из десятичной СС в произвольную на С++
Еще ссылки по теме:

C++ Перевод чисел из десятичной системы счисления в 2, 8 и 16
Перевод числа из десятиричной в произвольную C++
Перевод из десятичной в восьмеричную C++

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

Или воспользуйтесь поиском по форуму:
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
07.02.2013, 23:34  [ТС]     Перевод чисел из десятичной СС в произвольную на С++ #11
Цитата Сообщение от MrGluck Посмотреть сообщение
вы хапаете кусками то там то сям
как инфу дают так и употребляю..Сама вот вечерами самостоятельно разбираюсь и пытаюсь вникать..
Если я правильно сама поняла,то:

либо сама функция floor наверно сюда не подходит - она ведь для значений с плавающей точкой,возвращает результат с плавающей точкой.Знаю еще функцию trunc,но это по-моему ближе к Паскалю чем С++.Другой незнаю никакой если честно

либо я сам тип для rez2[k] не тот задала

что вернее??
Yandex
Объявления
07.02.2013, 23:34     Перевод чисел из десятичной СС в произвольную на С++
Ответ Создать тему
Опции темы

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