madzienka Opublikowano 13 Marca 2006 Zgłoś Opublikowano 13 Marca 2006 Hej mam taki problem: pisze program, ktory zapisuje dane podawane z klawiatury (i sprawdza pewne zaleznosci miedzy nimi). Czy jest mozliwe, aby po wpisaniu na ekranie ciagu znakow, np imienia z klawiatury zapisac go do tablicy znakow o rozmiarze podawanego stringu (dynamiczna alkoacja tablicy?)? Np. program wyswietla komunikat : "Podaj imie", uzytkownik wprowadza to imie np. "Magda" , a program zapisze je do tablicy o rozmiarze 5? Jak tak to jak to zrobic?? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Guardian_McLeavy Opublikowano 13 Marca 2006 Zgłoś Opublikowano 13 Marca 2006 Trzeba sprawdzić rozmiar stringu, dynamicznie zaalokować tabliće i gotowe. Do sprawdzania rzmiaru bodajże sizeof() a dynamicznie alokuje się tablicę za pomocą operatora NEW w taki sposób: typ *nazwatablicy = new typ[jakaszmienna] ; I na końcu prgoramu zwolnienie pamięci delete nazwa[]; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
madzienka Opublikowano 13 Marca 2006 Zgłoś Opublikowano 13 Marca 2006 no tak tak jest w c++, a mi chodzi o c :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
shaqal Opublikowano 13 Marca 2006 Zgłoś Opublikowano 13 Marca 2006 (edytowane) Sprawdź długość stringu np. tym: int lenght(char napis[]) { int i; for (i = 0; napis[i] != '\0'; i++); return i; }a potem stwórz tablicę o rozmiarze zwróconym przez tą funkcję. Reszta chyba podobnie jak pisał Guardian_McLeavy, tylko nie wiem jak będzie ze zwolnieniem pamięci (dopiero zaczynam w C :) ). Edytowane 13 Marca 2006 przez shaqal Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 13 Marca 2006 Zgłoś Opublikowano 13 Marca 2006 chyba najlepiej najpierw wdczytac stringa do stałej tablicy - bufora.. powiedzmy na 100 znaków.. potem sprawdzić ile jest wcyztanych tych liter... i mallockiem zaalokować tyle ile potrzeba... operator new pochodzi chyba z C++... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Guardian_McLeavy Opublikowano 13 Marca 2006 Zgłoś Opublikowano 13 Marca 2006 A o mallocku był program, na googlach pod hasłęm dynamiczna alokacja tablicy wyskakuje temat chyba pierwszy wynik albo drugi. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 19 Marca 2006 Zgłoś Opublikowano 19 Marca 2006 heh po co google to sie powinno wiedziec :) typ *zmienna = (typ*)malloc(ile_elementow*rozmiar_typu); zdrowko :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 19 Marca 2006 Zgłoś Opublikowano 19 Marca 2006 int "rozmiar_typu" = sizeof("typ")Styknie tych mądrości Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 19 Marca 2006 Zgłoś Opublikowano 19 Marca 2006 no jak widac dalo sie zrozumiec ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...