Mam problem z napisaniem funkcji, która wygeneruje tablicę dwuwymiarową. Wcześniej w funkcji głównej zapisałem: [syntax=c]int szer, wys; int **tab; szer = 10; //przykładowo wys = 11; //przykładowo tab = (int**)malloc(sizeof(int*) * szer); for(m = 0; m <= szer; m++) { tab[m] =...
Mam pewien problem z wskaźnikami do dynamicznej tablicy. Tablicę tworzę tak: [syntax=c] int **tablica; //n - kolumny, m - wiersze tablica = (int**)malloc(n * sizeof(int*)); for(i=0; i<n; i++){ *(tablica+i)=(int*)malloc(m*sizeof(int))... } [/syntax] Następnie...
Witam mam taki kod: #include <stdio.h> #include <stdlib.h> int main() { int rozmiar; int **tab; int k,i,j; printf ("podaj rozmiar tablicy: \n"); scanf ("%d", &rozmiar); tab = (int**)malloc(rozmiar...
Witam! mam Takie zadanie."Napisz funkcję dokonującą zamian miejscami elementów o indeksach parzystych z elementami o indeksach nieparzystych(przykładowo:element 0 z 1, 1 z 2 , 2 z 3 , 4 z 5 itd) UWAGA Tablica powinna byc tworzona dynamicznie i nei moze byc deklarowana jako zmienna tylko jaka Wskaźnik."...
Proponuje przeczytać mój post, ze zrozumieniem cytuję: "Wkleję tylko kawałek programu". Ale mogę wkleić cały program, zmienna ilość przydaje się by dynamicznie powiększać tablicę. [syntax=c]#include<stdio.h&... baza{ char imie[30]; char nazwisko[30]; int numer; }; struct...
Witam mam taki problem muszę wczytać z pliku binarnego jego zawartość do tablicy dynamicznej. Plik jest uprzednio wypełniany losowymi liczbami. W tablicy wyświetla mi się poprawnie tylko pierwsza liczba która jest ostatnią w pliku. Trochę już nad tym siedzę próbowałem wielu opcji i naprawdę jestem już...
Albo używa się C-towych funkcji malloc, calloc, realloc, free itp, albo new/delete. Nie wolno tego mieszać. Używając new/delete niestety pozostaje jedynie utworzenie owej tablicy i skopiowanie. W podanym przykładzie masz 2 błędy - nie kopiujesz to nowej tablicy tab i próbujesz reallocować tab a chyba...
Witam tworzę tablicę dynamiczna 1 wymiarową a później wywołuje funkcje która mi zwraca k. inkrementuję k-ty element tablicy rozkład. chcę teraz wyświetlić zawartość tablicy rozkład i qpa.... wywala multum 0 i wyskakuje błąd windows... co jest nie tak? init(n, E, &total); int *rozklad; rozklad=(int...
Niezupełnie, to jest przecież stary dobry nieużywany już Pascal. Tablicą dynamiczną nazywano tablicę utworzoną poprzez New. Jej rozmiar teoretycznie może się zmieniać, ale jeżeli jest użyta stała to zmienia się tylko na etapie kompilacji. Czyli zwykła tablica wskaźnikowa o rozmiarze N elementów (moim...
h-doc: jeżeli yy jest równe np. 10, to ile pamięci przydzieli malloc?
Witam. Może ktoś pomóc z programem? Uczę się programować w C++ i nie wiem dlaczego program wyświetla mi wartość: Najwiekszy element w tablicy to -2147483648 Z wykorzystaniem pamięci statyczej działa, a przy dynamicznej jest coś nie tak. ...
bezpośredniego skutku zwykle nie ma (sizeof(char)==1), ale zamiast -zmieniłem nazwy ... read na read1 Ja bym zmienił na znaczącą, oddająca intencję projektową. Coś w rodzaju read_and_trim albo read_from_line czy read_one_from_line Nazwa która wyznacza funkcjonalność pomaga (nawet w...
Cześć, chciałbym powiększać moją tablicę dynamiczną ale kod się nie kompiluje. Czy mógłby ktoś mi w tym pomóc ? Dodano po 4 Mam też 2 pytanie, powiększając tablic za każdym razem o 2, jak później usuwać po 1 elemencie z końca tablicy ?
Cześć. Jak w temacie mam problem z przekazaniem wskaźnika do tablicy dwuwymiarowej. Najchętniej zrobiłbym tablice dynamiczną calloc'kiem (od razu by mi ją wyzerował), ale niestety gcc (code::blocks + mingw) ciągle wywala mi błąd związany z tą nieszczęsna tablicą. Pomożecie mi? Dodano po 1 ...
1. Wczytujesz dane funkcją scanf() do stringa 2. Parsujesz dane i określasz wielkość tablicy 3. Na podstawie wyznaczonej wielkości tablicy deklarujesz wskaźnik do niej i alokujesz odpowiedni obszar pamięci przy pomocy malloc()
Sorrki, że się wtrące, C++ miałęm jedynie na 1 sem i raczej programuje w Delphim ale o ile mi wiadomo to C++ nie ma możliwości zadeklarowania wprost tablicy dynamicznej, kompilator musi mieć ścisle powiedziane jaki będzedzie długi ciąg elementów, zresztą do tego służy funkcja malloc() w C (jak wspomniał...
Witam. Muszę napisać program przetwarzający obrazy pgm. W programie obraz ma być przechowywany w dynamicznej tablicy. Wszystko szło obrze do momentu gdy w funkcji progowanie muszę zmniejszyć wymiary obrazu oraz wart piksela zależy od dwóch sąsiednich pikseli. Problem pojawia sie w tym fragmencie....
W tej pętli zliczającej niepotrzebnie wczytujesz liczbę do w, przez to "gubisz" liczbę elementów już wczytanych. Chyba jeszcze nie miałeś dynamicznego alokowania pamięci, nie można zrobić czegoś takiego: int tab[w][w]; ponieważ rozmiar deklarowanej tablicy w ten sposób musi być...
Witam. Mam wykonać polecenie: 'Stworzyć strukturę zawierającą dynamicznie zaalokowaną tablicę dwuwymiarową i jej wymiary. Tablica dwuwymiarowa jest reprezentowana przez odpowiedni wskaźnik.' Oprócz tego jeszcze zwolnić zaalokowaną pamięć. Oto co napisałem.. byłbym wdzięczny gdyby ktoś sprawdził czy...
Coś naplątałeś... Aby uzywać malloca bez dziwnych errorów, musisz zadeklarować odpowiednią ilość miejsca na stertę . Co z tego, ze twoje zmienne zajmują niewiele ramu, skoro najpewniej ustawiles sobie parę kB sterty, i gdy przekroczysz te pare kB, program ci sie natychmiast wykrzaczy, bo oczywiście...
Witam, Poniższy fragment kodu ilustruje stosowaną przeze mnie metodę tworzenia dynamicznych tablic wielowymiarowych, głównie 2-wymiarowych. Przydzielam je jako JEDEN spójny obszar pamięci, dobrze jest je zorganizować wierszami ze względu na zgodność ze statycznymi tablicami w tj. double A[8][8]; ...
Mam problem z dynamicznym zaalokowaniem pamięci dla tablicy struktur, przy użyciu malloc. Próbowałem na kilka sposobów, ale najczęsciej kompilator wywala błąd "variable sized object may not be initialized". [syntax=c]#include <stdio.h> #include <stdlib.h> #include <time.h> struct...
Witam Uczę się o dynamicznej alokacji pamięci, i nie wiem czemu program nie działa. Funkcja ma wypełnić tablicę dwuwymiarową kolejnymi liczbami, a następnie zwrócić ją do maina. Bardzo proszę o wskazówki: [syntax=c] #include<stdi... **funkcja(int n); int main(void){ ...
Witam, chce stworzyć programik do mnożenia macierzy. Wersja ze sztywno podanymi tabelami dziala. Jednak postanowilem dodać bajer, który będzie tworzył macierze o określonym rozmiarze i wczytywał je do programu. W sieci znalazłem kilka tematów o dynamicznej alokacji pamięci dla tablicy dwuwymiarowej....
W temacie masz C# a pytasz o C. Poniżej masz przykład tworzenia "dynamicznej tablicy" dwuwymiarowej. Spróbuj się oprzeć na tym i użyć u siebie. [syntax=cpp]#include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { int x = 4; int y = 5; int **tab =...
struktura moja wygląda tak i koniec: struct KrawedzGrafu{ int odwezla; int dowezla; int waga; }; Nie mogę jej zmieniać. Za dużo roboty by zmieniać całe ponad 100 linijek programu. To coś jest nie tak z programem. Struktury są między innymi po to, żeby można było...
Witam! A'propos "przytyku" Wszystko zawarłem w pierwszej odpowiedzi. Koledzy chyba posto-nabijacze ? A to fragment cytowanej, Twojej pierwszej odpowiedzi: 1. Pobierasz rozmiar tablicy przy użyciu scanf("%d", &rozmiar) zmienna rozmiar jest typu całkowitego. Skoro pobiera się rozmiar...
Cześć, mam problem z wypełnieniem tablicy struktur liczbami pseudolosowymi. W programie, korzystając z funkcji malloc() dynamicznie alokuję pamięć dla tablicy, następnie każde pole struktury w tablicy chcę wypełnić liczbą z zakresu <-50, 50>. Program się kompiluje, ale odpowiednie wartości pól...
Szybka odpowiedź. Trzeba Ci wiedzieć jak działa procesor i Memory Management Unit (MMU). Działa tak, że buduje z kawałków pamięci fizycznej, pamięć wirtualną. Z kawałków o ustalonej długości, im mniejsze kawałki tym lepsza oszczędność pamięci ale większa tablica mapowania fizycznej pamięci na wirtualną...
A jaki jest dokładnie problem ? Może to nie jest wina po stronie tego kawałka kodu co przedstawiłeś. Ogólnie inkrementacja w C nie zawodzi. Nie znam C za dobrze ale Twój sposób zainicjowania struktury wzbudził we mnie kontrowersje. Zawsze byłem przyzwyczajony do używania funkcji malloc w takich przypadkach....
Witam. Rozkminiam sobie C i próbowałem dynamicznie zaalokować dwuwymiarową tablicę o rozmiarze 6*n. Dla n=1 jest ok, dla większych wartości - zwraca segmentation fault. Program ma ją wczytać i wypisać. Sprawdźcie: [syntax=c]#include<stdio... int main(void) { ...
W funkcji głównej otwórz plik do czytania ("r") [syntax=c] FILE *source source = fopen("Zrodlo.txt", "r"); //[...] kod programu, nie zapomnij zamknąć pliku fclose(source); [/syntax] ... spróbuj użyć funkcji fgets(); czyta ona plik do pierwszego znaku nowej linii, bądź znaku końca...
Witam Mam problem z programem, ponieważ, nie mam pojęcia dlaczego się wysypuje, wszystko wygląda ok. Na razie program ma stworzyć 2 tablice, jedną z nich wyzerować i wyświetlić. Stosowałem calloc, ale też się program wysypuje. Proszę o pomoc Pozdrawiam [syntax=c]#include&...
zastanawiałem się też czy za malloc-iem nie powinno byc 9*9 ? Niby dlaczego? Deklarujesz wskaźnik na wskaźnik, pzrydzielasz tablicę z dziewięciu wskaźników i do każdego z tych wskaźników przypisujesz tablicę dziewięcioelementową, prawda? a i poproszę również o wywołanie funkcji Jak parę postów...
Witam Mam dosyć spory problem z parsowaniem tekstu, mianowicie użytkownik może w terminalu wpisać sobie taką o to składnie. Silnik 3,5;Silnik 5,25;Silnika 7,45; Ma to podzielić na "Silnik 3,5" , "Silnika 5,25" itp; Robię to w następujący sposób: -gdy z USARTa przychodzi ciąg znaków...
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> double random(); // Funkcja generuje liczbę losową. void prosta(double *wsk1, double *wsk2); // Funkcja wyznacza prostą. double minimum(int n); // Funkcja szuka...
Masz tendencję do pisania kodu w sposób uniemożliwiający jego łatwą analizę: - nigdy nie grupuj kilku instrukcji w jednej linii kodu - to formalnie dopuszczalne, ale kompletnie nieczytelne - korzystaj ze spacji do odseparowania wizualnie operatorów w wyrażeniach (z wyjątkiem -> , i * jako operatora...
a mi się zdaje ze delete aaa; usunie tylko pierwszy obiekt tablicy żeby usunąc cała tablice trzeba użyć delete aaaa W tym przypadku - jeżeli new utworzyło całą to i delete usunie całą (stworzyliśmy jeden obiekt zawierający kilka elementów a nie kilka pojedynczych). Jeśli idzie o konstrukcje...
no wiec napisalem ze blad to iz musi byc wartosc const dla tablicy ( dla nie wtajemniczonych chodzi glownie o tablice imie ) Byc moze musi byc const ale wydaje mi sie ze blad jest gdzie indziej.Sprobuj skastowac na const. size pewnie bedzie int skoto wskaznik jest int Pewnie nie bo powinno...
Kopiujesz nazwisko zawsze do zerowego elementu tablicy zamiast do i-tego: strcpy(tablica[0].nazwisko, nazw); W tej sytuacji zapamiętywane jest tylko ostatnie nazwisko, przy czym może dojść do przekroczenia bufora przydzielonego przez malloc() jeśli jakieś nazwisko jest dłuższe od pierwszego. Wszystkie...
Moim zdaniem AVR to stanowczo za małe mikrokontrolery, by zarządzać w nich dynamicznie pamięcią. Już sama funkcja malloc zajmie całkiem sporo pamięci FLASH. Pamięci RAM też w większości AVR nie ma jakoś wyjątkowo wiele, by było czym zarządzać. Inna sprawa, że malloc/calloc/realloc i free mają zastosowanie...
hmmm, a mnie tu pokazuje, że nawet nie ściągnąłeś tego, co wrzuciłem, a tam jest napisane jak to zrobić. Napiszę jeszcze raz (osatni :D ): 1. robisz malloca - rozmiar pamięci o 1 większy niż cały plik, tablica przypisana do wskaźnika na char, czyli deklaracja: char *plik; 2. ładujesz do tego obszaru...
We "współczesnym" c++ (masz takie w devc++) biblioteka standardowa oferuje tzw. kontenery, niektóe z nich potrafią się zachowywać jak tablica dynamiczna. W twoim przypadku możesz skorzystać np. z kontenera typu vector, krótki opis znajdziesz tutaj: Aha...i jeszcze jedno: czyli wynika z tego...
ale czy znajdziesz biblioteke z malloc dla avr?? jakos mi sie wydawalo zawsze, ze avr nie udostepniaja opcji dynamicznej alokacji pamieci... a sama alokacja, to bedzie np cos takiego... int rows = 6, cols = 5; double **a; a = malloc (rows * sizeof (double *)); if(!a) abort(); for...
Dobra rada - w C++ nie używaj malloc() :) Można zrobić tak jak pisze mietekn (tj. przydzielić ciągły kawałek przestrzeni i obliczać indeksy), ale można też zrobić tak: #include <iostream> #include <iomanip> int main(void) { std::cout << "Podaj...
Nie wklejaj kodu w obrazkach, bo nie da się go skopiować, a nikomu się nie będzie chciało przepisywać... Wystarczą znaczniki code. Już Ci napisał kaktus_c++ , że nie możesz zwracać wskaźnika na zmienną lokalną (umieszczoną na stosie), bo po zakończeniu wykonywania funkcji pamięć poprzednio przydzielona...
Witam. Mam problem z prostym programem w ktorym kolko poruszalo by sie od gory do dolu po tablicy. Granice sa oznaczone przez znak '*'. Kolko zaczyna ruch z dolnego lewego rogu po natrafieniu na gorna granice powinno zmienic kolumna na o jedna w prawo i potem jechac w dol etc. Niestety kolko zmienia...
Po dwu latach doświadczenia w programowaniu w C/C++ wracam, żeby ostatecznie rozwiązać mój problem. Może odpowiem najpierw na pierwsze pytanie Problem polega na tym, że chcę wykorzystać zewnętrzną funkcję pobierającą wskaźnik, która alokuje mi pamięć, tak żebym mógł korzystać z niej w funkcji main....
W zasadzie tak nie należy robić. Dwie gwiazdki obok siebie to już jest podejrzane, a le trzy.... ;) Ale jeżeli chodzi tylko o gimnastykę z językiem C, to trzeba to zrobić tak: Dodano po 28 Tak, taka jest składania. Zmienna tablica wewnątrz funkcji funkcja() jest wskaźnikiem na zmienną...
Ja np. myślę, że brakuje Ci podstaw języka C :) Deklaracja: volatile uint8_t *eq = 0; deklaruje wskaźnik , któremu przypisujesz adres zero. Jeśli odwołasz się do eq[0], to odwołujesz się komórki pamięci pod adresem 0. Druga rzecz - zwracasz z funkcji wskaźnik - nawet gdybyś tą tablicę zadeklarował...
Statycznie zadeklarowanej tablicy nie da się rozciągnąć. Od razu musiałaby być zadeklarowana z zapasem. Można zmienić rozmiar tablicy allokowanej dynamicznie (malloc - nie new). Czasem reallokacja może zmienić adres - jest to wtedy realizowane przez utworzenie nowej tablicy i skopiowanie starej zawartości....
Eh. To smutne. Myślałem, że w C da się wszystko :). Moim zadaniem jest napisać program do transpozycji macierzy z wstawką asemblerowską. Chciałem zrobić dynamicznie stworzoną tablice (malloc) po podaniu wymiarów macierzy. Następnie napisać funkcję drukującą macierz (działającą na trzech argumentach...
Jeśli chcesz to zrobić w strukturze, która pojawia się gdzieś w programie i miec wpływ na wielkość tablicy w każdym egzemplarzu struktury, eleganckim rozwiązaniem jest dynamiczne przydzielenie pamięci. struct pole{ int r,p,q,nr; }; struct Nadrz_dane{ pole *wezel; int MAX; };...
Robisz błąd w definicji wskaźnika. Deklarujesz: char* tablica [30][16]; Zamawiasz sobie obszar w pamięci, o wielkości 30*16 * (rozmiar wskaźnika do znaku) w którym przechowujesz wskaźniki do znaków. Gdybyś alokował go dynamicznie byłoby: char * tablica = (char *)malloc( 30*16...
Zrozum, że w C przekazywanie tabeli do funkcji ZAWSZE odbywa się przez referencję, nigdy przez wartość. Stąd w tym przypadku przekazanie do funkcji tabela lub &tabela jest dokładnie tym samym. Podobnie jak void *ptr=tabela to dokładnie to samo co void *ptr=&tabela, lub void *ptr=&tabela[0]; Jak nie...
Witam, próbuję funkcją malloc() za alokować około 2kB danych, jednak procesor zamiast za alokować wybrany obszar pamięci, wpada w przerwanie Hard Fault, występuje jakiś problem. Pamięci mam wolnej tyle ile potrzeba gdyż program jeszcze nie jest bardzo rozbudowany oraz mogę statycznie za alokować 2kB...
Projektowo funkcje należy rozdzielić. SprawdzWszystkieRejestry i SprawdzJedenRejestr() Można podać jako numer, jako maska bitowa czy jeszcze kilka by wymyślił. Chyba w samym pomyśle jest bład. Jeśli chcesz wykryć zmianę (bo tak sie domyślam) na jednym rejestrze (na niektórych rejestrach) to...
Z czym masz problem? Do tworzenia dynamicznych tablic w C masz malloc.
Nie przejrzałem całego kodu, ale od razu rzuca się w oczy błąd, na który kompilator powinien zwrócić Ci uwagę: double *oout = malloc(511 * sizeof(double)); // w C double *oout = new double[511]; // w C++
Witam. Pytanie jak w temacie. Potrzebuje "podziałać" na dużych tablicach tworzonych dynamicznie i pózniej usuwanych. Czy jest jakaś znacząca różnica w oszczędzaniu pamięci i czasie realizacji operacji w wykorzystaniu instrukcji new/delete i malloc(lub jego klony)/free ?
Poprawiłem kod dla czytelności, dopisz sobie resztę. Nie kompilowałem ze względu na niekompletny kod, liczyłem na swoją wiedzę: [syntax=c]#include <ctype.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 80 #define END...
Mój program służy do tworzenia macierzy i następnie robieniu na nich różnych operacji matematycznych. Na razie tylko dodaje do siebie macierze. W końcu przypomniałem sobie że muszę uwolnić pamięć na końcu programu... Lecz tu nie mam wskaźnika tylko pierw mam tablice wskaźników... więc usuwam wszystko...
Mam dwa dość spore problemy, z którymi nie mogę się uporać: 1. Usunąć dany element tablicy dynamicznej. Oto fragment kodu przedstawiający deklarację struktury oraz moje (prawdopodobnie do niczego się nienadające) wypociny: struct node{ struct info *pointer; struct node *prev; struct node...
Witam wszystkich serdecznie. Mam parę pytań dotyczących takich programów: 1. Kalkulator RPN (jest to plik źródłowy modułu): [syntax=c]#include "rpn.h" int push(elem** stos, int dana) { elem* pom =(elem*) malloc(sizeof(elem)); pom->dana=dana; pom->nast=*stos...
gdzie może być błąd wychodzą dziwne liczby Z tego co tu można wyczytać ze schematu wynika, że ma zostać utworzona tablica dynamiczna o rozmiarze zgodnym z wprowadzaną liczbą. Następnie powinna ona zostać wypełniona odpowiednimi wartościami (liczbami). Nie znam się na C, ale wygląda jakby brakowało...
Zapisanie do pliku oraz wczytanie z linii poleceń zrób sam ;-) Żeby nie było, że dostajesz gotowca... #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; //przeklejone sortowanie ze strony //http://www.java2s.com/Code...
Hej, zastanawiam się jak napisać funkcje z tablicą dynamiczną, która będzie zapisywać dane na zasadzie stosu. Chciałem to zrobić za pomocą realloc'a. Nie chcę używać <stack>, ani STL'a czy list. Czy jest możliwe napisanie tego za pomocą realloc'a czy malloc'a? A jeżeli tak to w jaki sposób...
Z tego co widzę w listingu wysyłającym dane przez UART masz zmienną koniec_kolejki, która to nigdzie nie jest funkcji podana. Jeśli jest to zmienna globalna, to musisz na takie zmienne uważać... Masz także tablicę dynamiczną *bajty, której nigdzie nie widzę alokacji. Jesteś pewien, że alokujesz pamięć...
po co ci struktura w ktorej jest TYLKO INT?! Czy ty znasz zastosowanie struktur? Po co przepisujesz stałą tablicę intów do dynamicznej tablicy intów (bo w efekcie wlasnie to osiągasz alokując na stercie miejsce na te swoje struktury)... 1. Nieeleganckie otagowanie struktury - Dlaczego typ u ciebie...
(at)dasej Proponuję abyś poczytał wpierw co to jest tzw storage duration. W C masz 3 rodzaje: static auto i allocated. Static to zmienne globalne oraz zmienne w funkcjach z atrybutem `static` Auto to zmienne (a raczej generalnie obiekty) zadeklarowane w funkcjach Allocated - utworzone przez...
Witam. Mam do napisania program, oto treść 'zadania' : Zdefiniuj typ strukturalny zawierający 3 pola (int, char, double ). Następnie zaimplementuj funkcje do obsługi zdefiniowanego typu: 1. losowanie – funkcja: a) pobiera jako argument liczbę N struktur, które mają zostad utworzone; b) dynamicznie...
Witam, Zmiennych się nie tworzy, tylko deklaruje. Jeśli wiesz, ile maksymalnie razy wykona się pętla, to użyj tablicy: char tablica[ROZMIAR]; int i; for (i = 0; i < ROZMIAR; ++i) tablica[i] = ... Oczywiście ROZMIAR nie może być zmienną. Jeśli nie wiesz,...
Witam! Próbuje na wszelkie sposoby i nie udaje mi się znaleźć błędu w programie. Otóż moje skromne dzieło ma dodawać do siebie duże liczby naturalne liczące po ok 100znaków każda i robi to w miarę dobrze dla liczb liczących dokładnie do 23znaków. Potem zaczynają się problemy z błędnymi wynikami i następuje...
1. czytasz słowo z wejścia 2. szukasz słowa w drzewie 2a. znalazłeś -> zwiększasz pole liczbawystapien 2b. nie znalazłeś -> - tworzysz nowy węzeł (malloc) - tworzysz nową kopię słowa: alokujesz pamięć (malloc) i kopiujesz (strncpy) - przypisujesz liczbawystapien = 1 - wstawiasz właśnie utworzony...
Bez sensu... totalne skomplikowanie problemu. Jak zrobimy tablice (tworząc dynamicznie, pamięci starczy nam nawet na miliardy komórek ;)) dostęp do elementów mamy natychmiastowy, podając po prostu indeksy. A w tym co kolega wyżej zaproponował, to nie dość że marnotrawienie miejsca (bierzemy najgorszy...
Miałem na myśli, żebyś zamienił deklarację volatile uint8_t tablica_jpeg W zasadzie nie muszę tego zmieniać. Wskaźnik już ma. Po prostu muszę go wykorzystać. I wywalić tą tablicę. Wcześnie wskaźnik nakierowywałem na tą tablicę. Zupełnie zapomniałem że ta funkcja i tak zmienia ten wskaźnik. Najdziwniejsze...
W Wyszukiwanie, zbieranie i analizowanie otwartych komponentów systemu Najpierw zacznijmy od wyjaśnienia co to jest oprogramowanie otwarte czy też dostępne na licencji GPL (trochę teorii). Narzędzia wykorzystane w routerze, takie jak Linux, U-Boot i inne dostępne są na licencji GPL, co oznacza...
Witam. Przymierzam się, aby w tym roku napisać maturę rozszerzoną, więc z arkuszy z dawnych lat wykonuje sobie programy. Tu jest treść zadania Zadanie 5. Ciekawe napisy (10 pkt) W pliku NAPIS.TXT, w oddzielnych wierszach, znajduje się 1 000 napisów o długościach od 2 do 25 znaków. Każdy...
Robiłem coś podobnego :) Przerób sobie co do sortowania po długości słowa to albo licz znaki w elemencie tablicy do napotkania \0 lub sizeof() i podziel przez rozmiar chara to otrzymasz ilość znaków w słowie z tablicy a później quick sortem i gotowe, dynamiczna alokacja pamięci jest czyli zależnie...
Ja mam podobny programik,ale on szczytuje caly text z danego pliku. Program czyta litere po literce i sprawdza czy juz koniec i odrazu wrzuca do tablicy. A na sam koniec wyswietla cala zawartosc tablicy. Mozesz sprobowac cos pozmieniac (dodac IF'y itp.) i moze bedzie dzialac tylko na liczby. Kombinuj... ...
Mam pewien problem, mam funkcję która dynamicznie pobiera macierz z klawiatury i wyświetla ją na ekranie. Chciałbym jednak to rozbić na dwie funkcje jednak nie bardzo wiem jak. Kod mojej funkcji wygląda tak: int podajMacierz() { /* tworzy macierz AxB */ int i,j,A,B; int...
myślałem o instrukcjach wybory switch(x) w której to argument x byłby poziomem w menu, a w tych switch(x) były by zaś takie same switch(y) gdzie y to byłby poziom podmenu ale niewiem czy takie coś to dobre myślenie. Za dużo niepotrzebnego kodzenia, lepszy wyborem jest pewna struktura opisująca obiekt,...
Witam! Na początek: Już masz błąd w deklaracjach i definicjach. W języku C przy definiowaniu tablic o n elementach (arr[n]), ilość elementów (tu: n) musi być stałą bądź wyrażeniem stałym, a nie zmienną. Prawidłowo powinno być np tak: [syntax=c]#define MAX_ILOSC_ELEM_W_TABLICY 100 int main(void) { ...
Jako pierwszy argumentow podajesz pewnie wskaznik na tablice, a drugi to pewnie wymiar, ale to mozne da sie obliczyc pewnie z sizeof(tablica). Jak chcesz dynamicznie tworzyc tablice o zmiennym rozmiarze, to uzywasz malloc().
Witam Nie da rady tak zadeklarować tablicy. Musisz utworzyć ją dynamicznie. Poczytaj o funkcji malloc i jej podobnym. Pamiętaj o usunięciu tej tablicy pod koniec programu.
Totalnie mieszasz pojęcia. Przede wszystkim powinieneś napisać, co tak właściwie chcesz napisać. Nigdy nie spotkałem się jeszcze z tym, żeby kod w C/c++ napisany pod Visualem nie chciał się skompilować pod Dev'em. Raz tylko do sizeof'a musiałem nawiasy dopisać. Z tego co widzę, to masz na myśli pisanie...
iosteam na Atmega32? Nie do końca chyba rozumiem: jak przeczytałeś je i nigdzie jeszcze nie wrzuciłeś, to raczej już ich nie masz? A jak wrzuciłeś, to ciągle jeszcze potrzebujesz nowej pamięci dla nich? Prawidłowo, to chyba musisz mieć jeden bufor na najdłuższy łańcuch, a potem alokować dynamicznie...
Witaj, Najpierw sam przetestuj kod- podstawowe bledy: -na gcc musialem dodac include <stdbool.h> - " " w include oznacza ze pliki naglowka znajduja sie w katalogu z aplikacja- zmien to na <> bo sa to standardowe pliki .h - masz nie zamknieta klamre w funkcji DodajOsobe, co powoduje...
W funkcji f Nie mam pojęcia po co ta zmienna statyczna. Wystarczy inkrementować zmienną globalną. Chyba, że jako zabezpieczenie żeby nie zmieniać zmiennej globalnej, ale i to średnio skuteczne. Można też przekazać dodatkowy parametr, wskaźnik do zmiennej, która będzie przechowywać ilość wykonań funkcji. ...
Struktura może być Ok, jezeli: 1. Po stworzeniu obiektu dynamicznie przydzieli pamięć do conajmniej 1 indeksu tablic struktury. (slowka.slowo[0] = (*char)malloc(100)) 2. Podczas przetwarzania w scanf wykorzysta odpowiedni indeks tablicy w głównym obiekcie i odniesie się do rzeczywicie istniejącego...
Dziękuję wszytkim za odpowiedzi! Tak nie zagłębiając się za bardzo w kod, skąd jest malloc/free? .... malloc i free pochodzą z bleeding-edge-toolchain od Frediego tak jak syscalls i szablon projektu. ... Tutaj, zadeklarowałbym statycznie tablicę elementów "node" raz "list_element_t" o rozmiarze...
A jak wygląda zarządzanie pamięcią w tym RTOSie? Czy można bez przeszkód używać dynamicznej alokacji nie obawiając się HardFault co kilka minut? Na chwilę obecną szansę na HardFault masz sporą, ponieważ muszę dodać w końcu implementacją funkcji __malloc_lock() i __malloc_unlock() (jest to na razie...
Twoja tablica jest alokowana na stosie, ktorego jest ograniczona ilosc (w skrypcie linkera mozesz ja zwiekszyc). Tworzenie duzych obiektow na stosie nie jest zbyt dobrym rozwiazaniem. Powinienes w takim przypadku uzyc tablicy globalnej lub zaalokowac ja dynamicznie (za pomoca malloc).
1. nie wyobrażam sobie programowania embedded, żeby choć raz na miesiąc nie rozwinąć C do ASM i zobaczyć co wychodzi. Z poczucia obowiązku, procedur w korporacji lub własnej ciekawości. Dyskusja o funkcji się skończy. Znalazł byś statyczny blok pamięci (tzn istniejący przed załadowaniem programu,...
Witajcie moi drodzy Przedstawię tutaj mojego shielda (nakładkę) na Arduino UNO opartego o układ ENC424j600. Shield ten pozwala podłączyć Arduino do internetu bez żadnego lutowania, a nawet bez użycia kabelków i płytek stykowych. W temacie dam jedenaście pełnych przykładów jego użycia z moimi...
Tak na szybko :wink: 1) Program dlatego (po kompilacji) jest taki duzy, bo: char lista[8000000]={}; (zadeklarowales statyczna 8MB talice - stad rozmiar programu 8MB) Mozna (taka tablice) utworzyc dynamicznie, np.: char *lista; int main() { ... lista=(char *)malloc(8000000); ...
Proba zaalokowania wiecej niz jednego elementu klasy macierz konczy sie niepowodzeniem, tylko jeszcze nie widac efektow. Zmienna zadeklarowana jako class macierz **A jest wskaznikiem na wskaznik, czyli etykieta, ktora wskazuje na jakis adres w pamieci, pod ktorym przechowywany jest jakis inny adres...
W zasadzie w tym miejscu powinno być ok, ale z RAMem możesz być na styk. Zobacz, obiekt typu network zajmuje (nie chciało mi sie liczyc dokładnie) ponad 256 bajtow! Stałe napisowe użyte w ten sposób też zużywaja RAM. Dodatkowo używasz pewnie ponad 70 bajtów pamięci dynamicznej na nazwę/stany na węzeł....
Ja wiem i umiem robic alokacje pamieci. Chodzi mi tylko o stos. Mam taki kod i 4KB wolnego stosu: int a; int b; // tutaj jeszcze ok { char tablica[10000]; // tutaj chcemy wziasc wiecej ze stosu niz mamy ... } i sie program wykrzacza :/ Mi chodzi...
char st1 to nie zadziala. tablice nalezy inicjowac rozmiarem znanym podczas kompilacji. masz wiec dwa wyjscia: 1. albo rozmiar na sztywno 2. albo szybki kurs uzycia funkcji malloc i obslugi dynamicznego przydzialu pamieci (obstawiam, ze jak procek nie ma pozadnej ilosci RAMu, to nawet nie ma...
tak czy siak musisz zadeklarowac miejsce dla tego bufora - statycznie tablica, lub dynamicznie - malloc(). zalozmy ze statycznie: na poczatku deklaracja: char bufor[5]; char *buf_in,*buf_out; potem setup: buf_in=bufor; buf_out=bufor; teraz sprawe mozna rozwiazac dwojako,...
Nie dziw się, printf i malloc właśnie tyle zajmują [; Z tego właśnie powodu mam swojego printfa, który obsługuje tylko kilka najpotrzebniejszych specyfikatorów. Nie wiem czy zajmuje choć 500B <: ______________ Zauważyłem właśnie to: char buffer[1000]; Uwierz - to nie jest dobry pomysł, chyba...
Witam! Ostatnio opanowywałem przerwania i komunikacje między nimi. Wszystko fajnie działa :) Teraz chciałem się nauczyć jak tworzyć dynamiczne tablice pod FreeRtosem. Próbował może ktoś tego i mógłby się podzielić? Ja tylko wiem że jest taka funkcja: void *pvPortMalloc( size_t xWantedSize )...
A to w tym przypadku musisz dynamiczne zarezerwować pamięć pod tablicę znaków używając funkcji 'malloc(...)' podając jej ilość znaków do zarezerwowania (plus jeden zapasu na '\0'). Ale nie zapomnij potem w destruktorze zwolnić tej pamięci funkcją 'free(...)'.
Witam! Eclipse Kepler Sourcery CodeBench Lite 2011.09-69 OpenOCD 0.6.1 STM32F103ZET6 Szablon projektu - Freddie Chopin Do tej pory wszystkie projekty na STM32 działały dobrze jednak teraz buduję większa aplikację i pojawiają się problemy. Objawia się to losową zmianą wartości zmiennych np....