Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » beispiel

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.03.2005, 14:37 Uhr
~xy
Gast


bitte lösung für das beispiel komme einfach nicht auf das ergebniss.

Schreiben Sie ein Programm, das eine Zahl n und eine Folge a von Buchstaben einliest. Die ersten n verschiedenen Zeichen der Folge sollen ausgegeben werden. Sind nicht genügend verschiedene Zeichen vorhanden, so ist eine entsprechende Meldung auszugeben:
Eingabe: n / a / n / ...

Beispiele:
n: 5 a: AACECCGGCEGI
Die ersten 5 verschiedenen Zeichen sind ACEGI
n: 3 a: ABACCD
Die ersten 3 verschiedenen Zeichen sind ABC
n: 6 a: AABCDBC
Die Folge enthält nicht 6 verschiedene Zeichen


Mfg. xy

BITTTTTTE?????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.03.2005, 14:48 Uhr
Th



Sorry, aber erst mal deinen Ansatz zeigen.

Aber den Algorithmus kann ich dir erklären:
Zuerst ein Array mit n Elementen anlegen (nennen wir es "b").
Dann die Folge a durchlaufen und für jedes Element schauen, ob es schon in "b" vorhanden ist. Wenn nein, dann das Element in b eintragen.
Wenn a durchlaufen wurde, dann schauen wieviele Elemente in "b" eingetragen wurden.
Wenn es mehr als "n" sind, dann die ersten "n" ausgeben, ansonsten Meldung "nicht genügend verschiedene Elemente in a" ausgeben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.03.2005, 15:03 Uhr
Pablo
Supertux
(Operator)


Wir sind kein Hausaufgaben Service.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.03.2005, 17:31 Uhr
~pat
Gast


hier mein quelltext:
was ist falsch


C++:
#include <stdio.h>
#include <conio.h>

#define MAX 50

int einlesen(char feld[], char feld1[], char folge[]);

int main (void){

    char weiter='j';
    char feld[MAX];
    char feld1[MAX];
    char folge[MAX];

    do{

        einlesen(feld, feld1, folge);

        printf("Nochmal(j/n)?\n");
        weiter=getch();

    }

    while((weiter=='j')||(weiter=='J'));

    return 0;

}

int einlesen(char feld[], char feld1[], char folge[]){

    int check=0, i=0, anz=0, j=0, k=0, x=0;

    printf("Wie viele verschiedene Zeichen sollen ausgegeben werden: ");
    fflush(stdin);
    check=scanf("%d", &anz);
    if(check!=1){
        fprintf(stderr, "Fehler bei der Eingabe");
    }

    
    printf("1.Zeichenfolge: ");
    fflush(stdin);
    gets(feld);

    for(x=0;x<MAX;x++){

        if(feld[i]==feld1[j]){

            folge[k]=feld[i];

            j++;

        }

        else if(feld[i]==feld[j]){

            folge[k]=folge[i];

            i++;

        }

        else{
            folge[k]=feld[j];

            k++;

        }

        j++;

    }

    folge[anz]='\0';

    puts(folge);

    return 0;

}



Mfg. xy


Bearbeitung von Pablo:

Benutze CPP Tags alleine


Dieser Post wurde am 10.03.2005 um 18:31 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.03.2005, 21:18 Uhr
Pablo
Supertux
(Operator)


Mach kein Cross Posting, das ist nicht schön. Warte mal ein bisschen, jemand wird dir schon helfen. (Ich muss noch was tun, dann schau ich mir deinen Code an)


Zitat:

hier mein quelltext:
was ist falsch



hilf uns dir zu helfen. Wir sind keine Compiler und keiner hier wird die Arbeit eines Compilers übernehmen und deinen Code um Kopf ausführen. Statt und zu fragen, was falsch ist (wir fragen das) erzähl uns lieber, was funktioniert denn nicht? Kannst du nicht kompilieren, stürtzt ab, falsche Ergebnisse, was?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 10.03.2005 um 21:20 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.03.2005, 15:41 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ui das hatten wir ja mal noch nicht
das könnte man lustig golfen...
hmm als erster ansatz fällt mir das hier ein...

C++:
void f(char* s,size_t n){
    char *p,*a;
    a=(char*)malloc(n+1);
    memset(a,0,n+1);
    for(--n,*a=*s;*s++&&n;!*p?*p=*s,--n:0)
        for(p=a;*p&&*s-*p;++p);
    printf("%s\n",a);
    free(a);
}



int main(){

    char *x="AACECCGGCEGI";
    char *y="ABACCDEFGHR";
    char *z="AABCDBC";

    f(x,5);
    f(y,3);
    f(z,6);

}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.03.2005, 17:05 Uhr
~xy
Gast


wenn ich zb.: AGGHRITFK eingebe
anzahl der abgeschnittenen Zeichen : 5
dann gibt er mir GHRIT aus.
er soll aber auch das große A mitausgeben

Mfg. xy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.03.2005, 17:34 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hmm also zugegebner weise hab ich das nicht wirklich richtig getestet und nur so schnell dahingekladdert das fehler nicht ganz unwahrscheinlich sind aber ein

C++:
f("AGGHRITFK",5);


gibt bei mir AGHRI aus...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: