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

Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку - C++

Восстановить пароль Регистрация
 
Пульман
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 40
08.04.2014, 21:50     Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку #1
Ребят, такая проблема, задание:
Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени.
Но есть косяк, у меня получается делит число в 5 степени не на число а 14 степени, а на число в 16, как исправить косяк? вообще в голову не приходит.
буду благодарен!

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int perevod10(int a,char*text){
 
int s(0);
 
for(int i(0);i<strlen(text);i++){
switch (text[i])
{case 49:s+=1*pow(a,strlen(text)-(i+1));break;
case 50:s+=2*pow(a,strlen(text)-(i+1));break;
case 51:s+=3*pow(a,strlen(text)-(i+1));break;
case 52:s+=4*pow(a,strlen(text)-(i+1));break;
case 53:s+=5*pow(a,strlen(text)-(i+1));break;
case 54:s+=6*pow(a,strlen(text)-(i+1));break;
case 55:s+=7*pow(a,strlen(text)-(i+1));break;
case 56:s+=8*pow(a,strlen(text)-(i+1));break;
case 57:s+=9*pow(a,strlen(text)-(i+1));break;
case 97:s+=10*pow(a,strlen(text)-(i+1));break;
case 98:s+=11*pow(a,strlen(text)-(i+1));break;
case 99:s+=12*pow(a,strlen(text)-(i+1));break;
 
 
}
}
return s;
}
int *perevodL(int a,int b){
int k(1);
 
for(int i=a;i>=b;i/=b){k++;}
int *ar=new int(k);
for(int i(0);i<k;i++){
ar[i]=a%b;
a/=b;}
 
 
for(int i(0);i<(k/2);i++){
a=ar[k-i-1];
ar[k-1-i]=ar[i];
ar[i]=a;
}
 
char text[1000]={};
for(int i(0);i<k;i++){
switch (ar[i])
{case 0:text[i]=48;break;
case 1:text[i]=49;break;
case 2:text[i]=50;break;
case 3:text[i]=51;break;
case 4:text[i]=52;break;
case 5:text[i]=53;break;
case 6:text[i]=54;break;
case 7:text[i]=55;break;
case 8:text[i]=56;break;
case 9:text[i]=57;break;
case 10:text[i]=97;break;
case 11:text[i]=98;break;
case 12:text[i]=99;break;
 
}}
cout«text«endl;
 
return 0;
}
int _tmain(int argc, _TCHAR* argv[]){
int c;
char text[100];
 
cout«"vvedite chislo 1:";
cin»text;
int b(perevod10(13,text));
cout«"vvedite chislo 2:";
cin»text;
int Q(perevod10(9,text));
 
(perevodL(b*Q,13));
 
return 0;
}
Добавлено через 1 час 20 минут
В шапку не то скинул) вот та которая нужна
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// АСВТ.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int perevod10(int a,char*text){
 
int s(0);
 
for(int i(0);i<strlen(text);i++){
switch (text[i])
{case 49:s+=1*pow(a,strlen(text)-(i+1));break;
case 50:s+=2*pow(a,strlen(text)-(i+1));break;
case 51:s+=3*pow(a,strlen(text)-(i+1));break;
case 52:s+=4*pow(a,strlen(text)-(i+1));break;
case 53:s+=5*pow(a,strlen(text)-(i+1));break;
case 54:s+=6*pow(a,strlen(text)-(i+1));break;
case 55:s+=7*pow(a,strlen(text)-(i+1));break;
case 56:s+=8*pow(a,strlen(text)-(i+1));break;
case 57:s+=9*pow(a,strlen(text)-(i+1));break;
case 97:s+=10*pow(a,strlen(text)-(i+1));break;
case 98:s+=11*pow(a,strlen(text)-(i+1));break;
case 99:s+=12*pow(a,strlen(text)-(i+1));break;
case 100:s+=13*pow(a,strlen(text)-(i+1));break;
case 101:s+=14*pow(a,strlen(text)-(i+1));break;
case 102:s+=15*pow(a,strlen(text)-(i+1));break;
 
}
}
cout<<s<<endl;
return s;
}
int *perevodL(int a,int b){
int k(1);
 
for(int i=a;i>=b;i/=b){k++;}
int *ar=new int(k);
for(int i(0);i<k;i++){
ar[i]=a%b;
a/=b;}
 
 
for(int i(0);i<(k/2);i++){
a=ar[k-i-1];
ar[k-1-i]=ar[i];
ar[i]=a;
}
 
char text[1000]={};
for(int i(0);i<k;i++){
switch (ar[i])
{case 0:text[i]=48;break;
case 1:text[i]=49;break;
case 2:text[i]=50;break;
case 3:text[i]=51;break;
case 4:text[i]=52;break;
case 5:text[i]=53;break;
case 6:text[i]=54;break;
case 7:text[i]=55;break;
case 8:text[i]=56;break;
case 9:text[i]=57;break;
case 10:text[i]=97;break;
case 11:text[i]=98;break;
case 12:text[i]=99;break;
case 13:text[i]=100;break;
case 14:text[i]=101;break;
case 15:text[i]=102;break;
}
}
cout<<text<<endl;
 
return 0;
}
int _tmain(int argc, _TCHAR* argv[]){
int c;
char text[100];
 
cout<<"vvedite chislo 1:";
cin>>text;
int b(perevod10(5,text));
cout<<"vvedite chislo 2:";
cin>>text;
int Q(perevod10(14,text));
cout<<"b/c= "<<b/Q<<endl;
(perevodL(b/Q,5));
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 21:50     Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку
Посмотрите здесь:

Написать функцию, которая вычисляет а в b степени C++
C++ Написать функцию которая подносит дробовое число х до степени n
C++ Написать программу, вычисляющую X в степени Y и Y в степени X
написать программу, которая выводит на экран первые четыре степени числа пи C++
написать программу, которая выводит на экран первые четыре степени числа П(пи) C++
C++ Написать программу, решающую сравнения первой степени
Найти показатель степени числа C++
Написать функцию третьей степени числа А C++
Написать рекурсивную функцию для расчета степени n вещественного числа a (n — натуральное число) C++
Написать программу нахождения степени числа а с натуральным показателем n C++
C++ Вычисление натуральной степени вещественного числа за наименьшее число операций
C++ Написать рекурсивную функцию для расчета степени а в степени х, х - любое число

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6054 / 5657 / 1828
Регистрация: 18.12.2011
Сообщений: 14,448
Завершенные тесты: 1
08.04.2014, 22:45     Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку #2
Не по сути вопроса, а по стилю программирования:
Цитата Сообщение от Пульман Посмотреть сообщение
switch (ar[i]) {case 0:text[i]=48;break; case 1:text[i]=49;break; case 2:text[i]=50;break; case 3:text[i]=51;break; case 4:text[i]=52;break; case 5:text[i]=53;break; case 6:text[i]=54;break; case 7:text[i]=55;break; case 8:text[i]=56;break; case 9:text[i]=57;break; case 10:text[i]=97;break; case 11:text[i]=98;break; case 12:text[i]=99;break; case 13:text[i]=100;break; case 14:text[i]=101;break; case 15:text[i]=102;break; }
Разве это не то же самое
C++
1
2
3
4
if(ar[i]<=9)
      text[i]=ar[i]+'0';
else
      text[i]=ar[i]+'A';
Yandex
Объявления
08.04.2014, 22:45     Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку
Ответ Создать тему
Опции темы

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