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

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

Войти
Регистрация
Восстановить пароль
 
Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 142
#1

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

07.02.2013, 01:01. Просмотров 813. Ответов 10
Метки нет (Все метки)

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

Перевод чисел из десятичной системы счисления в 2, 8 и 16 - C++
Всем привет,нужна помощь. Помогите,пожалуйста. Нужно перевести из десятичной системы счисления в другую(2,8 и 16). Основание и число...

Перевод дробных чисел из десятичной в двоичную систему счисления - C++
для натуральных чисел все понятно, и предельно ясно. А как сделать для дробных чисел? Ведь перевод дроби надо умножать, а здесь делить с...

Перевод целых чисел из десятичной системы счисления в другие - C++
вот зробив алгоритм переведення з 10-вої в n систему числення, але біда в тому шо незнаю як написати код на С++, знайшов шось в інеті і...

Перевод чисел из десятичной системы счисления в двоичную, восьмеричную, шестнадцатеричную - C++
напишите код программы для проверки перевода чисел из десятичной системы счисления в двоичную,восьмеричную,шестнадцатеричную на языке С ...

Перевод числа из десятиричной в произвольную - C++
написать функцию для перевода числа из десятеричной в произвольную систему счисления (например, 27-ричную).

Перевод текста в произвольную систему счисления - C++
Задача такая (перевод с эстонского): С клавиатуры вводится: - Р - натуральное число, 0 &lt; P &lt; 21. - S - массив строк P-ичных чисел...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nocl1p
37 / 22 / 10
Регистрация: 30.03.2012
Сообщений: 300
07.02.2013, 01:10 #2
А что компилятор пишет?
0
abit
263 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 730
07.02.2013, 01:19 #3
начните разбор ошибок с того, что комменатрии пишутся // на строчку или /* до */, но никак не просто /
и вообще учитесь понимать ответы компилятора на ваш код, это очень полезно

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

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


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


а компилятор на типы ругался вот в этой строке
C++
1
rez2[k]=floor(pr);
ругался он потому что rez у вас никак не заявлен вообще, он не знает что с ним делать
0
Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 142
07.02.2013, 01:31  [ТС] #7
Цитата Сообщение от nocl1p Посмотреть сообщение
в обьявлении rez2[k]
да..а в проге везде rez2[k]..эт я здесь уже походу ваську наваляла
0
abit
263 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 730
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 / 0
Регистрация: 12.10.2012
Сообщений: 142
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; 
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
07.02.2013, 03:42 #10
Цитата Сообщение от Маринчик Посмотреть сообщение
на что мне стоит обращать внимание, чтоб избегать таких ошибок?
на книги, вам необходимо именно поэтапное обучение, вы хапаете кусками то там то сям, подгоняя изучение в рамки выполнения задачи, при этом суть вещей протекает мимо вас.
1
Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 142
07.02.2013, 23:34  [ТС] #11
Цитата Сообщение от MrGluck Посмотреть сообщение
вы хапаете кусками то там то сям
как инфу дают так и употребляю..Сама вот вечерами самостоятельно разбираюсь и пытаюсь вникать..
Если я правильно сама поняла,то:

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

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

что вернее??
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 23:34
Привет! Вот еще темы с ответами:

Перевод из десятичной в двоичную - C++
Имеется рабочая программа, но загвоздка в том, что выдает значение наоборот, т.е. если ввести число 14, то программа выдает 0111, хотя...

Перевод из десятичной в восьмеричную - C++
Может быть у кого-нибудь завалялась программка на перевод в восьмеричную систему?) Или может-быть кто-нибудь объяснит как это можно...

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

Перевод из десятичной в двоичную СС - C++
Объясните пожалуйста. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void dvoich(int x1) { int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.02.2013, 23:34
Ответ Создать тему
Опции темы

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