imi poate explica cineva unde e greseala si ce ar trebui sa schimb? nu vreau alte metode de rezolvare , doar indicatii la metoda mea
#include <iostream>#include <cstring>#include <ctype.h>
/*63. Fie n nr. natural. Sa se faca conversia lui n in baza 16.*/
using namespace std;
int main(){ int n,i; char a[256]; cin>>n; *a=NULL; while (n) { if (n%16>=10) strcat(a,'A'+n%16-10); else strcat(a,n%16); n=n/16; } cout<<a; return 0;}
Răspunsuri la întrebare
Răspuns de
0
Ti-am "dres" sursa ta (sincer eu n-o faceam asa). Ai greseli in folosirea functiei strcat:
Functia. strcat - concateneaza doua siruri. Tu nu aveai doua siruri.Am incercat sa dezvolt ideea ta fara strcat doar cu vectorul de caractere a[256] declarat global si nu local cum ai facut-o tu. Am mai folosit biblioteca universala <bits/stdc++.h>, pe care te sfatuiesc s-o faci si tu pentru a nu mai scrie atatea biblioteci. Succes!
#include <bits/stdc++.h>
/*63. Fie n nr. natural. Sa se faca conversia lui n in baza 16.*/
char a[256], c;
int n, i, val;
using namespace std;
int main()
{
cin >> n;
while (n)
{
if (n%16 >= 10)
{
val = n%16 - 10;
c = 'A' + val;
a[i ++] = c;
n=n/16;
}
else
{
val = n%16;
c = '0' + val;
a[i ++] = c;
n=n/16;
}
}
cout << a;
return 0;
}
Functia. strcat - concateneaza doua siruri. Tu nu aveai doua siruri.Am incercat sa dezvolt ideea ta fara strcat doar cu vectorul de caractere a[256] declarat global si nu local cum ai facut-o tu. Am mai folosit biblioteca universala <bits/stdc++.h>, pe care te sfatuiesc s-o faci si tu pentru a nu mai scrie atatea biblioteci. Succes!
#include <bits/stdc++.h>
/*63. Fie n nr. natural. Sa se faca conversia lui n in baza 16.*/
char a[256], c;
int n, i, val;
using namespace std;
int main()
{
cin >> n;
while (n)
{
if (n%16 >= 10)
{
val = n%16 - 10;
c = 'A' + val;
a[i ++] = c;
n=n/16;
}
else
{
val = n%16;
c = '0' + val;
a[i ++] = c;
n=n/16;
}
}
cout << a;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Ed. tehnologică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Informatică,
9 ani în urmă