Obračanje znakov...
3 naročniki
3 naročniki
Imam program, v katerem vnesem število, napr 12, on mi pa izpiše v dvojiškem 0011, kar seveda ni prav, saj bi moral 1100. Se pravi, je treba te številke obrniti. Pa poskušam, in mi ne rata. Koda je v C-ju.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int vnos;
int x;
char tabela[100];
int i=0;
scanf("%d",&vnos);
while(vnos>0)
{
x=vnos%2;
vnos=vnos/2;
tabela*=x;
printf("%d",x);
}
for(i=strlen(tabela)-1; i>=0; i--)
{
printf("%c",tabela*);
}
}**
4 odgovori
Pred časom smo na faksu delali podobno nalogo.. in to isto težavo sem rešil z klicom metode Array.Reverse (C#). Pogooglaj mogoče za C tudi obstaja..
Kako bi lahko izpisal dolžino vnesenega niza ? naprimer če vnesem 100110, mi vrne 6 ? Ker mi vedno zateži zradi charov pa int...
http://www.roseindia.net/c-tutorials/c-string-reverse.shtml
#include <stdio.h>
#include <conio.h>
#include <string.h>
int reverse(int i);
char st[]="Hello World";
void main() {
printf("\nThe string is: %s", st);
reverse(0);
printf("\nReversed string is: %s", st);
getch();
}
int reverse(int i) {
if (i<(strlen(st)/2)) {
char c;
c= st;
st=st[strlen(st)-i-1];
st[strlen(st)-i-1]=c;
}
return 0;
}**
al pa pač v google vpiši C String reverse...