0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 40
|
|
1
|
Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку
08.04.2014, 21:50. Показов 2284. Ответов 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;
} |
|
0
|