Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Brauche Hilfe bei Programm?

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
25.10.2005, 16:48 Uhr
nicknase



Hallo,
Bin ganz Neu in C und im 1 Semester Informatik soll folgendes Programm schreiben!

Schreiben Sie ein C-Programm, dass ein char-Feld mit 10
Elementen in main() definiert und mit den Zeichen '0' bis '9'
vorinitialisiert. Erzeugen Sie dann ein char-Pointer-Feld, dessen
Zeiger auf die einzelnen Elemente des char-Feldes verweisen.
Übergeben Sie das char-Pointer-Feld an eine selbst erstellte
Funktion ausgabe(). In dieser Routine sollen die Feldelemente des
Ziffern-Feldes über die zugehörigen Zeiger jeweils als char und als
int ausgegeben werden. Geben Sie weiterhin die Adresse der
Ziffern aus:

so habe es mal so gemacht bin ich da auf den richtigen weg? habe noch keine funktion ausgabe geschrieben und alles in Main geschrieben!

Danke


Nicknase

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


int main()
{

char feld[10];

feld[0]='0';
feld[1]='1';
feld[2]='2';
feld[3]='3';
feld[4]='4';
feld[5]='5';
feld[6]='6';
feld[7]='7';
feld[8]='8';
feld[9]='9';

char *pointer[10];


pointer[0]=&feld[0];
pointer[1]=&feld[1];
pointer[2]=&feld[2];
pointer[3]=&feld[3];
pointer[4]=&feld[4];
pointer[5]=&feld[5];
pointer[6]=&feld[6];
pointer[7]=&feld[7];
pointer[8]=&feld[8];
pointer[9]=&feld[9];


printf ("Erg Char %c%c%c%c%c%c%c%c%c%c",pointer[0],pointer[1],pointer[2],pointer[3],pointer[4],pointer[5],pointer[6],pointer[7],pointer[8],pointer[9]);
printf ("\n");
printf ("Erg Int %d%d%d%d%d%d%d%d%d%d",pointer[0],pointer[1],pointer[2],pointer[3],pointer[4],pointer[5],pointer[6],pointer[7],pointer[8],pointer[9]);
printf ("\n");
printf ("Erg Adresse %p%p%p%p%p%p%p%p%p%p",pointer[0],pointer[1],pointer[2],pointer[3],pointer[4],pointer[5],pointer[6],pointer[7],pointer[8],pointer[9]);

getch();
}



mod edit: Benutze die CPP Tags selber!

Dieser Post wurde am 25.10.2005 um 16:54 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.10.2005, 16:50 Uhr
virtual
Sexiest Bit alive
(Operator)


Schleifen dürft ihr nicht benutzen?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.10.2005, 16:54 Uhr
nicknase




Zitat von virtual:
Schleifen dürft ihr nicht benutzen?

Hallo noch nicht haben wir noch nicht gemacht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.10.2005, 17:34 Uhr
imhotep
followed the white rabbit



C++:
int i;
/* .... */
printf ("Erg Char");
for (i=0; i<10; i++) printf ("%c", pointer[i]);
printf ("\n");

Dieser Post wurde am 25.10.2005 um 17:35 Uhr von imhotep editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.10.2005, 18:09 Uhr
ao

(Operator)



Zitat von nicknase:

C++:
printf ("Erg Char %c%c%c%c%c%c%c%c%c%c",pointer[0],pointer[1],pointer[2],pointer[3],pointer[4],pointer[5],pointer[6],pointer[7],pointer[8],pointer[9]);




Hier würde ich so schreiben:

C++:
printf ("Erg Char %c%c%c%c%c%c%c%c%c%c",*pointer[0],*pointer[1],*pointer[2],*pointer[3],*pointer[4],*pointer[5],*pointer[6],*pointer[7],*pointer[8],*pointer[9]);



pointer[0] ist ein Zeiger auf ein Zeichen. Du willst aber das Zeichen selber, also musst du den Zeiger noch mal dereferenzieren.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.10.2005, 18:10 Uhr
nicknase



Hallo,
ok hab es halt ohne schleife gemacht weil wir das so sollten aber trotzdem danke!

so will jetzt den pointer in eine funktion ausgabe übergeben

also



C++:

int ausgabe(char *pointer[])

{


int i;

printf ("Erg Char \f:");
for (i=0; i<10; i++) printf ("%c", pointer[i]);
printf ("\n");

printf ("Erg int:\f");
for (i=0; i<10; i++) printf ("%d", pointer[i]);
printf ("\n");

printf ("Erg Adr:\f");
for (i=0; i<10; i++) printf ("%p", pointer[i]);
printf ("\n");

return 0;

}




Dieser Post wurde am 25.10.2005 um 18:11 Uhr von nicknase editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.10.2005, 18:12 Uhr
nicknase



und ich gebe von main

return pointer[];


zurück an ausgabe oder??

danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
25.10.2005, 20:14 Uhr
ao

(Operator)



Zitat von nicknase:
und ich gebe von main

return pointer[];


zurück an ausgabe oder??

danke


Höchstens umgekehrt, von ausgabe zurück an main. Aber wozu? ausgabe kann genausogut void sein.

ao
 
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: