www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Praxis" - Decodierungs-Programm
Decodierungs-Programm < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Praxis"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Decodierungs-Programm: Tipp
Status: (Frage) beantwortet Status 
Datum: 11:23 Di 17.11.2009
Autor: AbraxasRishi

Aufgabe
Es ist ein char-Array gefüllt mit Zeichen gegeben, welche aber erst Sinn ergeben wenn man von der Ascii-Codierung jedes Zeichens den Wert 1 abzieht. Aufgabe ist es, ein Programm zu schreiben welches die Zeichen decodiert.

Hallo!

Ich muss sagen, dass mich das Programm echt überfordert und wäre euch um einige kleinere Tipps sehr dankbar!!


Ich habe im Internet C++ Programme gefunden welche Zeichen in ascii-Code und umgekehrt übersetzen. Allerdings habe ich überhaupt keine Ahnung ob sowas mit C(Das ich verwenden muss)  überhaupt realisierbar ist und was die ganzen Funktionen zu bedeuten haben. Obwohl ich nachgeschaut habe, finde ich nur Infos über  atoi.

#include <iostream>
using namespace std;
int main()
{
    string input;
    getline(cin, input);
    string temp;
    for(int i=0; i<input.length(); i++)
    {
        if(input.at(i)==' ')
        {
            cout<<char(atoi(temp.c_str()));
            temp="";
            continue;
        }
        temp+=input.at(i);
    }
    getchar();
    return 0;
}


#include <iostream>
using namespace std;
int main()
{
string input;
getline(cin, input);
for(int i=0; i<input.length(); i++)
{
cout<<int(input.at(i))<<" ";
}
return 0;
}


Kann mir bitte jemand sagen wie man das elementarer in C machen könnte bzw. was die Codes bedeuten?

Vielen Dank!

Angelika

Edit: Jetzt hätte ich noch eine Möglichkeit gefunden aber es läuft nicht. Warum?

#include <stdio.h>

int main(){
    
    char zeichen= 'a' ;
    int ascii =int(zeichen);
    zeichen = char(zeichen+2);
    
    printf("%i", zeichen);
    getchar();
    
    return 0;
}


        
Bezug
Decodierungs-Programm: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:42 Di 17.11.2009
Autor: pi-roland

Hallo,

leider kann ich es zur Zeit nicht überprüfen, aber kennst du den printf-Befehl?
for (i=0;i<arraygroesze;i++)
  printf("%c", codearray[i]);

Wie gesagt, ich weiß es nicht genau, aber in so einem Array sind die Buchstaben ja als Ascii-Code gespeichert. Kannst als vorher einfach 1 abziehen...
Viel Erfolg,


Roland.


Bezug
        
Bezug
Decodierungs-Programm: Antwort
Status: (Antwort) fertig Status 
Datum: 17:54 Di 17.11.2009
Autor: Rene

Moin, Moin!
> Edit: Jetzt hätte ich noch eine Möglichkeit gefunden aber
> es läuft nicht. Warum?
>  
> #include <stdio.h>
>  
> int main(){
>      
> char zeichen= 'a' ;
>      int ascii =int(zeichen);

int ist keine Funktion. Wenn du casten musst dann (int) zeichen;

>      zeichen = char(zeichen+2);

char ist ebenfalls keine Funktion: (char) (zeichen+2);
Hier hast du übrigens deine Lösung schon. Wahrscheinlich wolltest du hier eher (char) (ascii+2); schreiben. Sonst würde das vorherigen casten keinen sinn machen. Aber wie du siehst,  funktioniert es auch so.

>      
> printf("%i", zeichen);

Ich denke doch mal, das du hier das ASCII zeichen ausgeben willst. Dann musst du aber printf("%c", zeichen); schreiben.

>      getchar();
>      
> return 0;
>  }
>  

kurz gesagt: deine Lösung kannst du einfach schreiben als printf('%c',zeichen+2);

MFG

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Praxis"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]