Προς το περιεχόμενο

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • 0
B@GOS.GR

Erotisi, gia mia Function stHn C

Ερώτηση

katarxas kalispera sas,

 

ZHtao mia idi leitourgia stHn C an Yparxei :-(.. pou na Xorizei ena String mias leksis Xoris kena se array opou to ka8ena na periexei ton kathe xaraktira tis leksis aftHs ....:fear:

 

epidi prospathisa na kano kati stHn C koitaxte afto::o

 

(pernei tous xaraktires enan enan kai tous antistrefei!)

 

>

#include <stdio.h>

int main()
{
char onoma[10],name[10];
int metr,i;


for (i = 0; i<=10; i++)
 {
      onoma[i] = ' ';
      name[i] = ' ';
 }
   




 printf("Parakalo doste onoma\n");
 printf("apo 1~10 xaraktires\n");
 onoma[0] = getchar();
 onoma[1] = getchar();
 onoma[2] = getchar();
 onoma[3] = getchar();
 onoma[4] = getchar();
 onoma[5] = getchar();
 onoma[6] = getchar();
 onoma[7] = getchar();
 onoma[8] = getchar();
 onoma[9] = getchar();
 onoma[10] = getchar();
 

metr = 0;


for (i = 0; i<=10; i++)
 {
      
 if (onoma[i] != ' ' )
   {
             name[metr] = onoma[i];
             metr++;
   }
 }
 
 
for (metr; metr>=0; metr--)
 {
         putchar(name[metr]);
 }
printf("\n\n");
system("PAUSE");
 
}

 

 

Kai ama dn katalabate ti zito .:rolleyes:... to exo idi kataferei afto se PASCAL an sas BoH8a!;)

 

>

Procedure indetify(Var name,onomal:name_array; Var metr:byte);

var i:byte;

 begin


 For i:=1 to 25 do
   begin

   if (onomal[i] <> ' ') OR (onomal[i] <> '') then
     begin
       metr:=metr +1;
       name[metr]:= onomal[i];
     end
   else break;
 end;
end;

 

 

Efxaristo!:-D

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

11 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

Βασικά έχω κάνει μια μέθοδο για να συντομέψω τη δουλειά μου σε C++ αν δε βολεύει μπορείς να τη δείς... είναι με pointer.

 

>#include <iostream>
#include <string>
using namespace std;
char* stringtochar(string in)
{
char *fv;
fv = new char [in.length()];
for(int i(0); i<in.length(); i++)
fv[i]=in.at(i);
return fv;
}
main()
{
string a("atpapadi");
char *k;
k=stringtochar(a);
cout << k;
}

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

to eixa idi Prospathisei alla Mou ebgaze kati Koula o Dev - C++

 

8a to ksanakitakso perisotero tora bebea, Gt etsi petixe kai stHn pascal ....

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Omologumenos dn se polikatalava,

alla an dn 8es na ta dixnei anapoda tote giati ta tipwneis etsi?

>for (metr; metr>=0; metr--)
 {
         putchar(name[metr]);
 }

 

to anapodo prepei na kaneis gia na ta dixnei me tin swsti seira.

vale kati tetoio

>
i = 0;
while(i <= metr )
{
 putchar(name[i]);
 i++;
}

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Basika sas Efxaristo olous para poli Gia thn boH8eia ..:lol:

 

alla epidi h8ela na trifto Perisotero Monos mou ..(afou eimai akoma sto Stadio ekma8isHs kai Auto-PrpponisHs :rolleyes::o)

 

Kateliksa se afth thn patenta mou:

 

>

#include <stdio.h>

int main()
{
char onoma[10],name[10];
int metr,i;


for (i = 0; i<=10; i++)
 {
      onoma[i] = ' ';
      name[i] = ' ';
 }
   




 printf("Parakalo doste onoma\n");
 printf("apo 1~10 xaraktires\n");
 
for (i = 0; i<=10; i++)
 {
      onoma[i] = getchar();
      if (onoma[i] == ' ' || onoma[i] == '\n') { break; }
 }

 
 
 
 printf("\n");

metr = 0;


for (i = 0; i<=10; i++)
 {
      
 if (onoma[i] != ' ' )
   {
             name[metr] = onoma[i];
             metr++;
   }
 }
 
 
for (metr; metr>=0; metr--)
 {
         putchar(name[metr]);
 }
printf("\n\n");
system("PAUSE");
 
}
   

Afto nomizo oti Bolebei .. dn Ksero an exete kapia allH gnomH .. :fear:

 

Pantos efxaristo kai pali ..!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Basika sas Efxaristo olous para poli Gia thn boH8eia ..:lol:

 

alla epidi h8ela na trifto Perisotero Monos mou ..(afou eimai akoma sto Stadio ekma8isHs kai Auto-PrpponisHs :rolleyes::o)

 

Kateliksa se afth thn patenta mou:

 

>

#include <stdio.h>

int main()
{
char onoma[10],name[10];
int metr,i;


for (i = 0; i<=10; i++)
 {
      onoma[i] = ' ';
      name[i] = ' ';
 }
   




 printf("Parakalo doste onoma\n");
 printf("apo 1~10 xaraktires\n");
 
for (i = 0; i<=10; i++)
 {
      onoma[i] = getchar();
      if (onoma[i] == ' ' || onoma[i] == '\n') { break; }
 }

 
 
 
 printf("\n");

metr = 0;


for (i = 0; i<=10; i++)
 {
      
 if (onoma[i] != ' ' )
   {
             name[metr] = onoma[i];
             metr++;
   }
 }
 
 
for (metr; metr>=0; metr--)
 {
         putchar(name[metr]);
 }
printf("\n\n");
system("PAUSE");
 
}
   

Afto nomizo oti Bolebei .. dn Ksero an exete kapia allH gnomH .. :fear:

 

Pantos efxaristo kai pali ..!

 

Re mipos thes thn strtok(char* buf,"\n\r");

h synarthsh epistrefei dikth se pinaka pou periexei mia lexh pou einai xorismenh me \n h me \r kathe epomenh fora h proth parametros einai NULL

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Επειδή στη C το string είναι array χαρακτήρων (δεν υπάρχει κάτι άλλο), συνήθως κάνεις μια σχετική πρόβλεψη της πιθανής καταχώρησης και δηλώνεις από την αρχή μέγεθος (η εναλλακτική σίγουρα δεν είναι εύκολος τρόπος). Αν θέλεις να διαβάζεις μικρό και επώνυμο σε μία καταχώρηση χωρισμένα με κενό, χρησιμοποίησε την fgets:

 

#include <string.h>

 

char onoma[100], name[100];

int i, metr;

fgets(onoma, 99, stdin);

 

for(i=0, metr = 0; i <= strlen(onoma); i++)

if (onoma != ' ' && onoma != '\n') {

name[metr] = onoma;

metr++;

}

 

printf("%s\n", name);

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

αν και ειναι μια λήση ... έλεγα μήπως υπήρχε κάπια ήδη υπάρχουσα λειτουργεία στην C ίσως και πιό σωστή διοτι σύμφονα με τον δικό μου κώδικα ο χρήστης θα πρέπει να πλικτρολογίσει Ακριβώς 10 χαρακτίρες .. 'Η 10 εκχωρησεις ... απλα αν ξέρατε κατι πιο "εξελιγμένο"

 

Και πάλι ευχαριστώ ..!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Εν ολίγοις,

 

char buffer[10];

scanf("%s", buffer);

και μετά τα έχεις έτοιμα σε πίνακα,

buffer[0], buffer[1] ... buffer[9].

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

oxi .. ok Kai stHn Pascal alla Kai stHn C exo Idi balei ton tropo na deixnete anapoda, Apla afto pou zHto einai ean eiparxei kapia idi Function oste na min Grafo olo afto ton Kodika ...

 

diladi ena Function pou na xorizei ena Sting apo char se Arrays opou to kathena Array na periexei ena Xaraktira tou String

 

o skopos mou einai kathara Gia na ekpedefto - peiramatisto perisotero me tHn C

 

Pantos efxaristo gia thn apantish sou!

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

γιατί δεν γράφεις μια φορά τον κώδικα για την συνάρτηση σου, να το κάνεις library και μετά να το καλείς με include?

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
Re mipos thes thn strtok(char* buf,"\n\r");

h synarthsh epistrefei dikth se pinaka pou periexei mia lexh pou einai xorismenh me \n h me \r kathe epomenh fora h proth parametros einai NULL

 

 

 

Den thn iksera .. efxaristo ..!:mrgreen:

 

alla kai o kodikas pou egrapsa parapano me kaliptei ....:o

aloste o skopos mou Htan apla na ekpedefto perisotero pano sthn C .. den eixa kapion sygekrimeno skopo ..:rolleyes:

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
×
×
  • Δημιουργία νέου...