Ich hab da eine Aufgabe bei der ich nicht weiter komm.
Ich soll ein C Program schreiben, bei dehm ich eine Zahl eingeben kann. Diese Zahl soll dann in Binär wieder ausgegeben werden.
Doch egal was ich eingebe ich bekomme immer nur einen Überlauf. Obwohl ich mir sicher bin, dass meine Formel zur Brechnung stimmt.
Hier mal mein programm:#include<stdio.h>
int print_bit(int x);
int main ()
{
int x;
int wert;
printf("Bitte geben sie einen Wert ein:\n");
scanf("%d", &x);
wert = print_bit(x);
printf("%d\n", wert);
return 0;
}
int print_bit(int x)
{
int a;
int i = 1;
int b[32];
int erg=0;
do
{
a = x % 2;
x = x / 2;
b = a; //Hier steht b[ und die varablie i] wird im Forum nicht korrekt angezeigt
i = i + 1;
}
while (x==0);
for (i=(32-1);i>=0;i--)
{
erg=b; //Hier steht b[ und die varablie i] wird im Forum nicht korrekt angezeigt
}
return erg;
}
Ich hab wieder mal ein Programmierproblem.
Diese mal allerdings in Java, aber ich dachte mir ich mache jetzt keinen neuen Thread dafür auf.
Ich schreibe gerade an einem Programm, dass ein Palidrom erkennen soll.
Ein Palindrom ist ein Wort, das Vorwärts und Rückwärts gliech geschrieben wird zB "Otto"
Mein Programm funktioniert im Grunde nur die Ausgabe ist immer falsch.
hier mal mein Code:
import java.util.Scanner;
class PalindromChecker
{
public static void main(String [] args)
{
String str1 = "";
System.out.print(" Geben Sie eine Wort ein: ");
Scanner sc = new Scanner(System.in);
str1 = sc.next();
str1 = str1.toLowerCase(); //alles wird klein geschrieben
StringBuilder str2 = new StringBuilder(str1).reverse();
//Erstellt einen 2. String aus dem umgekehrten String1
System.out.println("Rueckgabe1: " + str1); //Kontrolle Variable 1
System.out.println("Rueckgabe2: " + str2); //Kontrolle Variable 2
if ( str1.equals(str2) ) //vergleicht str1 und str2
{
System.out.println(" Das Wort " + str1 + " ist ein Palindrom.");
}
else
{
System.out.println(" Das Wort " + str1 + " ist kein Palindrom.");
}
}
}
Vor der eigentlichen Ausgabe Überprüfe ich sogar noch meine beiden Strings und obwohl sie gleich sind kommt immer wieder die falsche Ausgabe.
Weiß einer was da falsch läuft?
EDIT: Hat sich erledigt