w kontruktorze lub poprzez zmienną publiczną.
Bardzo się mylisz pisząc, że macierze w ujęciu C++ to tablice dwuwymiarowe. Język C++ tym różni się od C, że wspiera programowanie orientowane obiektowo. Oczywiście, można z tego nie korzystać, ale wtedy jaka jest różnica między C a C++? Prawdopodobnie tylko w innym sposobie użycia biblioteki I/O. W ujęciu języka C++ macierz to oddzielna klasa: using...
Rozmawiamy teraz o Turbo Pascalu czy o Delphi/Free Pascal/Lazarus? Pascal (Turbo Pascal/Borland Pascal) nie ma możliwości deklarowania tablic bez podania rozmiaru (tablic dynamicznych). Natomiast Delphi, jak najbardziej. [syntax=delphi]program Project1; {$APPTYPE CONSOLE} uses SysUtils; type rekord = record dana1 : integer; dana2 : real; end; var tablica...
Gdybyś sprawdzał co zwraca fread , wiedziałbyś, że plik nie zawiera wszystkich danych. Do pliku (poza n) zapisujesz tylko ostatnią wyświetloną zmienną.
Upsss ale ze mnie ciezko myslacy czlowiek nie dopisalem ze chodzi o Delphi ...:( No i co z tego, powyższy przykład będzie działać także pod delphi, tylko ja bym proponował dodać do pliku jakiś nagłówek który opisuje ile danych jest w którym wymiarze.
Jak utworzone tablice dynamiczne masz na mysli? Zdaje mi sie, ze od pewnego momentu w delphi sa dwa typy tablic dynamicznych. Takie, ktorym mozna zmieniac rozmiar oraz takie w stylu C z reczna alkokacja pamieci. W kazdym z tych przypadkow mozesz przeciez skopiowac dane po prostu, element do elementu, nagle jedna petla for. Poza tym, byc moze zadziala...
Masz w tym jeden błąd - po pierwszej instrukcji w pętli licznik będzie zawsze równy x-1. W związku z tym, pętlę musisz wykonywać tylko dopóki x>0. Zwracam tylko uwagę, że alokacja i zwalnianie pamięci zajmuje czas. Jeżeli chcesz zaimplementować coś na kształt stosu, to wydajniej od pomniejszania i powiększania zalokowanego obszaru jest alokować miejsce...
Niby dobrze jest zrobione tylko: (kopiowanie tych tablic) jest to sensowne czy może jest jakiś lepszy sposób na zrobienie tego Hm... Może i gdzieś jest sensowne ale masz fajny szablon klasy vector z biblioteki STL. Można to nazwać inteligentną tablicą, rozszerzasz tablicę wtedy kiedy chcesz na przykład: [syntax=cpp]#include <iostream> #include...
wsk wyrzuć poza definicję button3_Click (z button3_Click usuń tę linię): int *wsk; System::Void button3_Click(System::Object... sender, System::EventArgs^ e) { }
Myślę że kolega chciał aby ! był w miejscu 3,4 ale tak się nie stało dlaczego? Otóż myślę że wystarczą 2 zmiany jedna to przed wydrukiem na ekranie dodaj spacje po \n w funkcji printf co ładnie zacznie drukować górny wiersz od znaku dale przez co później będzie ta tabela wyglądać jak tabela. A teraz główny błąd sprawdzasz czy jesteś w określonym miejscu...
Nie wyczytałem w treści zadania, że funkcja powinna zwalniać pamięć tablicy wejściowej - powiedziałbym, że to nie jest dobra praktyka. W każdym razie jeżeli założyłeś, że ta funkcja zwalnia wejściową tablicę, to nie możesz tego robić po raz drugi w main, zdecyduj się. Natomiast nigdzie nie zwalniasz tablicy wynikowej. Pilnuj też wcięć i formatowania,...
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." Przejrzałem instrukcje c++ i nigdzie nie znalazłem...
Pisano na kolanie, mogą być drobne problemy: [syntax=csharp] array<String^,2>^ names; OpenFileDialog^ dlg = gcnew OpenFileDialog; dlg->InitialDirectory = "c:\\"; dlg->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; dlg->FilterIndex = 0; dlg->RestoreDirectory = true; if ( dlg->ShowDialog() == System::Windows::Forms::DialogResult::OK...
Jeśli będzie to tablica dynamiczna to z każdym wczytaniem znaku/wyrazu tablica może być powiększana (realloc) nie pamiętam jak dokładnie w c++ ale w c wczytywanie z pliku działa na funkcji fscanf
Tablica dynamiczna rekordów, tak samo jak to się robi z listami w pascalu.
Kiedyś sporo pisałem w Pascalu i z tego co pamiętam nie ma tam możliwości deklarowania tablic o dynamicznie zmieniających się wymiarach. Pojęcie zmiennej/ tablicy dynamicznej w Pascalu istnieje, ale odnosi się do dynamicznego przydzielania/zwalniania pamięci dla zmiennych, realizowane przez parę procedur new i dispose.
Jest sposób - tablica dynamiczna: [syntax=c]int rozmiar; cout << "Podaj rozmiar tablicy:" << endl; cin >> rozmiar; int * tablica = new int[rozmiar]; delete [] tablica;[/syntax]
private: int* Liczby; // ... Sumator::Sumator(int b) { Liczby = new int[b]; } Sumator::~Sumator() { delete[] Liczby; } Pozdrawiam, Dr.Vee
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 projekcie jednoosobowym) się zdyscyplinować. A nie ukrywajmy, funkcja...
Tak, bo w rozwiazaniu B masz tablice wskaznikow, i pod kazdy z tych wskaznikow mozesz wstawic jedna strukture (jak masz u siebie w kodzie tablica[0]=malloc(sizeof(osoba)); ) ale nic nie stoi na przeszkodzie aby podstawic tam cala tablice (tablica[0]=malloc(sizeof(osoba) * 10); ).
#include <stdlib.h> #include <iostream> #include <vector> using namespace std; int main(int argc, char *argv[]) { vector<int> wek; wek.push_back(1); wek.push_back(2); wek.push_back(3); wek.push_back(4); cout << "elementów w kontenerze: " << wek.size()...
Zauważ, że tutaj: int ile_znakow = 0; unsigned char *cT1 = new unsigned char [ile_znakow]; unsigned char *cT2 = new unsigned char [ile_znakow]; alokujesz puste tablce! ile_znakow = z1 - pocz; // wyznacza długość i 1 tablicy cT1 // tutaj przypisuje odpowiednie fragmenty do dynamicznych tablic char // i konwertuję na int cT1[ile_znakow+1]...
Jedno z: [syntax=c]void tworz(int **tab, int rozmiar, int rodzaj_tab); void tworz(int *&tab, int rozmiar, int rodzaj_tab); int *tworz(int rozmiar, int rodzaj_tab);[/syntax]
[syntax=cpp] #include <iostream> void Foo1(void) { } int main (void) { typedef void (*pFoo)(); pFoo* tFoo = new pFoo[3]; //wiem, że musi się tu znaleźć określenie typu, ale jak ono będzie wyglądało dla wskaźnika na funkcję? tFoo[0] = Foo1; //tFoo[1] = Foo2; //tFoo[2] = Foo3; delete [] tFoo; return 0; } [/syntax]
Kiedy alokujesz dynamicznie pamięć funkcja alokuje trochę więcej niż potrzeba i "chowa" tam informacje o wielkości zaalokowanej pamięci, niestety nie istnieje funkcja w C która pozwoliła by ci dostać sie do tych extra-danych, oczywiście można by przeanalizować jak dana implementacja *alloc/free przechowuje meta-dane o rozmiarze bloku ale to traci trochę...
Spróbuj skorztystać z gotowych metod, do porównania ciągów znaków: [1] http://www.cppreference.com/wiki/string/... [2] http://www.java2s.com/Code/C/String/Comp...
[syntax=c]const char *str=s.c_str();[/syntax] lub: [syntax=c]char *str=&s[0];[/syntax]
Chcesz przekazać po wywołaniu zdarzenia kontrolki, tablice kontrolek w której się ona znajduje do funkcji zaznaczenie_badan? Patrząc na logikę znalazłem przy okazji parę błędów w kodzie. Chyba że kod jest bardziej obszerny niż tu przedstawiłeś. W każdym bądź razie napisałem zgodnie z Twoim kodem takie coś ale nie wiem czy o to Ci chodziło: [syntax=vbnet]...
oczywiście że tak double * funkcja(int x, int y) { double *tablica; int kk; ... kk=...; ... tablica=new double[kk]; return(tablica); } a potem musisz pamiętać żeby użyć delete
int ** tab to nie jest tablica dwuwymiarowa. Jest to jednowymiarowa tablica wskaźników, wskazujących jednowymiarowe tablice int. alokujesz tablicę wskaźników do int liczącą w elementów: int **tab = new int *[w]; następnie w pętli alokujesz w tablic int po k elementów każda i przypisujesz ich adresy elementom tablicy tab: for ( int i = 0; i < w; ++i...
Jeśli ma być to macierz kwadratowa, to możesz zrobić macierz = new int[n * n]; odwołania do elementów - np. x = macierz[n * j + i]; na końcu delete[] macierz;
Dla tego dziwnego środowiska wszystko co globalne najlepiej deklarować w osobnym pliku lub klasie. Można także w głównym programie chyba po dyrektywie - [syntax=cpp]#pragma endregion[/syntax] Jako, że jest to tablica dynamiczna to użycie - [syntax=cpp]gcnew[/syntax] najlepiej wykonać gdzieś na początku np tutaj - [syntax=cpp]private: System::Void Form1_Load(System::Object^...
Strumienie raczej nie służą do edycji danych, jak sama nazwa mówi. Aby móc manipulować danymi musisz wczytać je do stosownej struktury (np tablicy dynamicznej lub listy), następnie tam przykładowo wykonać zmianę kolejności i ponownie zapisać.
Kolega wcześniej dobrze na pisał... Przecież jeśli masz tak [syntax=cpp]for(i=1;i<=IloscDanych;i+... to badasz elementy od indeksu 1 więć musi być tak: [syntax=cpp]for(i=0;i<IloscDanych;i++... A po za tym BARDZO WAŻNA uwaga nie ustala się tak rozmiaru tablicy;/ [syntax=cpp]int IloscDanych=0; //ilość różnych towarów magazynie char...
1. Tak to nam skonweruje liczbę zmiennoprzecinkową na stałoprzecinkową eg: 2.2->2. 2.Jest też dobre.
Restart komputera lub dysku i zobacz czy działa.
Na początek zapoznaj się z dokumentacją scanf. Jak chcesz pobrać hex to powinieneś użyć "%x" a nie "%d". Co ma właściwie robić funkcja zamiana? Pobiera tylko napis i go przetwarza ale nic nie zwraca. Poza tym masz błąd w char napis[]=; - powinieneś podać rozmiar tablicy lub użyć wskaźnika jeżeli chcesz mieć tablice dynamiczną.
W przypadku tablic niejawny wskaźnik jak i adres samej zmiennej to jedno i to samo. To po prostu nie jest przechowywane w innym miejscu. Inaczej by się sprawa miała z tablicą dynamiczną. Wtedy rezerwowany jest obszar pamięci, którego wskazanie musi być przechowywane w osobnym wskaźniku. W przypadku statycznych tablic - kompilator z góry zna położenie...
Już Ci napisałem w starym temacie jak ta metoda ma wyglądać (dodajUcznia)
Użyj np. ADO żeby połączyć się z bazą i wyciągnąć rekordy.[url=http://www.aspdev.org/asp/a... link w ASP, użyj funkcji GetRows() i skonstruuj odpowiedni connection string do połączania z bazą MS SQL
1. ^ to operator logiczny alternatywy rozłącznej. Co on tu robi? Raczej chodziło Ci o potęgowanie. Nie ma operatora potęgowania - trzeba użyć funkcji. Operator potęgowania w postaci ^ to, jeśli dobrze pamiętam, tylko Basic wykorzystywał (i Excel ;) ) 2. Rozmiar tablic dynamicznych podaje się w nawiasach kwadratowych. Nie wiem, co oznacza zapis stworzony...
Język C nie wspiera dynamicznych tablic wielowymiarowych. Masz dwie możliwości: 1- wykorzystać "tablicę tablic" czyli tablicę wskaźników; 2- użyć tablicy jednowymiarowej i liczyć indeksy "na piechotę". Twój przykład jest zbliżony do metody pierwszej, tzn. tabpix jest u Ciebie wskaźnikiem na wskaźnik, a ponieważ w C wskaźnik na element jest równoważny...
Stworzy nową tablicę, w zupełnie nowym miejscu pamięci, co spowoduje: 1.Stara tablica nadal będzie istnieć (i nie zostanie usunięta, bo nie masz już do niej adresu) 2.Nowa tablica będzie miała inne dane. Do stworzenia takiej dynamicznej tablicy jak ty chcesz można użyć: -linked list (listy połączonej czy jak to się zwie po polsku) -jest funkcja resize...
No niech będzie. void f(int *x) {//funkcja otrzymuje adres i pod ten adres "wpisuje" 12 *x = 12; } int x = 5; f(&x);// & oznacza pobierz adres zmiennej x i przekaż go do funkcji f //x jest = 12 a: void f(int *x) { x[2] = 12; *(x+5) = 15;//równoważny zapis } int x[10]; f(x);...
a jelsi najpierw usune tablice przez delete [] pa; a potem usune wskaznik przez pa = NULL to bedzie ok??
masz pomysł jak to zrobić? Jak przenieść wyfiltrowane ID z zrzutu 2 do kryteriów filtra w arkuszu 2? Przenieść bez kopiowania :D - nie :cry: Teoretycznie można by utworzyć tymczasową tablicę dynamiczną z wyfiltrowanymi danymi i poddać ją ponownemu filtrowaniu (w pamięci), ale i wówczas musisz tą tablicę wynikową (lub same wyniki sumowania) gdzieś zrzucić...
Nie bardzo wiem, z czym masz problem - z rozszerzaniem tablicy czy jej indeksowaniem?
Teraz mam pytanie: Jak przypisać powiedzmy do 3 wiersza string albo jak skopiować do tegoż wiersza inna tablice char ? Funkcja [url=http://www.cplusplus.com/reference/... Twoim przyjacielem.
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 chcę utworzyć wskaźnik do tej tablicy i wywołać funkcję (wypelniajaca tablice zerami)z tym...
Witam, Oto mój kod:[syntax=cpp]double* f_x1(double* tab, int n){ double* newTab = new double[n]; for(int i=0; i<n; i++){ double fx1= cos(3.14*tab[i]); newTab[i]=fx1; Form1->StringGrid1->Cells[12][i+1] = newTab[i]; } delete []tab; return newTab; } double* f_x2(double* tab, int n){ double* newTab = new double[n]; for(int i=0; i<n; i++){ double...
Liczyłem na wypowiedź h-doc w tym temacie z alokacją. To wszystko zależy w jakim trybie działa procek, jesli z rzeczywistym to jest ograniczenie do tablic 64kB i tylko sztuczkami matematycznymi i alokacją wielokrotną da się to obejść. A jeśli chodzi o systemy 32bit takie jaki linux czy windows (chyba od 98 w góre). To można chyba zaalokować do 4GB...
Nie tyle chodzi mi o rozwiązanie problemu w STL-u, bo takie rozwiązanie już zaprogramowałem. Jest Blok i umieszczam w nim dane na bieżąco za pomocą wskaźników. Chciałbym zrobić coś co by działało jak tablice dynamiczne w c++. I zastanawiam się czy jest taka możliwość w stepie albo moze w winCC
Zgadza się :) To jest alokacja dynamiczna pamięci dla tablicy indices, ale na stosie, tzw. VLA. O ile pamiętam, napisane było też, aby stosować to do tablic o małym łącznym rozmiarze ;)
Dopowiem jeszcze, że generalnie wszelkie błędy odwołań do pamięci (głównie wskaźniki i tablice dynamiczne) potrafią dawać zupełnie niezrozumiałe i nieoczekiwane rezultaty. Przykładowo błąd w jednym miejscu może powodować efekt w kodzie, który z pozoru zupełnie nie ma związku, a w pewnych przypadkach może wręcz dojść do podręcznikowego efektu motyla,...
Aha, oczywiście: TImage ImagesTable[10]; Można się potem pokusić o dynamiczną tablicę.
Nie oblicza, bo wyrażenie tab_sin[n]=(int) (sin((double) (n/20*(2*M_PI))))... "wykłada się" przy rzutowaniu. A tak działa: tab_sin[n]=(int)(327... * sin((double)n*M_PI/10)... Pozdrawiam, Jacek
Ze względu na to, że nie masz już teraz dynamicznej tablicy [syntax=c]delete write_Files;[/syntax] powoduje dealokacje tej tablicy, co później robi za ciebie kompilator dając wyjątek że usuwasz coś czego już nie ma. Więc albo robisz dynamiczną tablicę wskaźników przez new: [syntax=c]std::fstream **write_Files = new std::fstream*[12]; delete[] write_Files;[/syntax]...
prosze o pomoc #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int ile; cout<<"Podaj ile liczb chcesz wprowadzic"<<endl; cin>>ile; int *a=new int [ile]; int licznik; for(licznik=0;licznik<ile;licznik... { cout<<"Podaj...
A dynamiczne tworzenie tablicy int* pTablica; cout<<"Ile liczb"; cin>>n; pTablica=new int[n]; poźniej pętla do wprowasdzenia liczb nie zapomnij na koncu zwolnic pamieci delete [] pTablica;
To tak, tam faktycznie const też jest potraktowane jak zmienna. Wchodzi więc w grę tylko #define, czyli [syntax=cpp]#define f 4 #define n 1000 #define baza f*n[/syntax]
Z tego co tu można wyczytać ze schematu wynika, że ma zostać utworzona tablica dynamiczna Otóż niekoniecznie. Równie dobrze można założyć jakiś maksymalny rozmiar tablicy, którą allokuje się statycznie, a w jakiejś zmiennej przechowuje się aktualną ilość danych. Problemem tego zadania jest przede wszystkim określenie algorytmu oraz spodziewanego rezultatu...
Sprawa jest bardzo prosta. [syntax=delphi]program Project1; {$APPTYPE CONSOLE} uses SysUtils; type obiekt = record zmienna1 : Real; zmienna2 : Byte; end; var tablica1 : array [1..1000, 1..1000] of Real; tablica2 : array [1..1000, 1..1000] of Byte; tablica3 : array [1..1000, 1..1000] of obiekt; obj : obiekt; begin writeln('tablica 1 : '+inttostr(1000*1000*sizeof(real)));...
Założyłem stworzenie dwóch podwójnych tablic Dodano po 37 Zmieniłem nagłówek funkcji sortującej (mając na celu dostosowania typu danych do zadeklarowanych wcześniej tablic) [syntax=c] System::Void sort_Bubble(int *table, int size) [/syntax] na [syntax=c] System::Void sort_Bubble(array<System::Int64>^ table, System::Int64 size) [/syntax] Nadal...
Witam W Delphi7 działa następujący kod: procedure tworzenie_tablicy; var tablica: array of byte; ile_pol:byte; begin ile_pol=5; SetLength(tablica, ile_pol); end; Należy pamiętać że ilość pól musi być całkowita oraz tablica zaczyna się od indeksu 0 a kończy na indeksie ile_pol-1.
Witam, mam problem z jedną z klas w moim programie. Otóż w konstruktorze ustalam wielkości tablic dynamicznych dwuwymiarowych i przypisuję do nich domyślne wartości. Do tego momentu wszystko działa poprawnie. Jednak gdy później losuję parę różnych od siebie liczb i chcę wpisać do elementu tablicy A x A o wylosowanym indeksie y jakąś wartość (pierwszym...
[syntax=delphi] begin setlength(tab,length(tab)+1); writeln('Podaj ',length(tab),' imie: '); readln(tab[length(tab)].imie); //<---- tu jest problem writeln('Podaj ',length(tab),' nazwisko: '); readln(tab[length(tab)].nazwisko); // <--- tu jest problem writeln; end; //... cala petla zla for i:=i+1 to length(tab) do begin writeln; writeln('Imie...
A teraz kolejny problem. Wszystkie funkcje tworzące tablice dynamiczne postanowiłem wrzucić do innego pliku. Wszystko działa dobrze, jeżeli tworzę tablicę dynamiczną liczb typu float. Natomiast program zwraca błąd, kiedy tworzę dynamiczna tablicę typu string. Domyślam się, że brakuje mi jakiejś biblioteki, ale nie wiem jakiej.
też nie jest dobrze. Dla jednego wymiaru się zgadzam. Ale dla dwóch wymiarów jest źle - w tym przypadku nie będziesz mógł stosować dwóch indeksów tablicy. Dla dwóch wymiarów moim zdaniem powinno być tak: typedef long int VECTOR []; VECTOR *tab = (VECTOR*)malloc(sizeof(VECTOR)*yy);
Dla rozjaśnienia tego przypadku proponuję lekturę: http://gcc.gnu.org/onlinedocs/gcc/Variab... Albert
Potrzebne zdalne połączenie gg 2325844 czekam Było trzeba odnaleźć gdzie mieściła się druga partycja po SCAN NTFS znaleźć można było gdzie są BOOT sektor drugiej partycji i bootcopy pierwszej reszta to kwestia już tylko odpowiedniego wpisu w MBR po wpisaniu wszystko zostało przywrócone.
No cóż, podane przeze mnie przykłady odnoszą się bezpośrednio do SQL czyli bazy danych. Insert - dodanie rekordu do bazy, Update - edycja rekordu, Delete - usunięcie rekordu, Select - wybranie interesujących dla nas rekordów na podstawie zadanych kryteriów Czyli to co masz zrobić, tyle że u Ciebie zamiast bazy danych (MySQL, MSSQL itp.) wykorzystana...
Proponuje zmienić podejście. Zamiast przy każdym razem tworzyć tablicę, utwórz ją raz, a kolejną tworzysz dopiero wtedy, kiedy na starej nie starcza miejsca: #include <cstring> rekord* tab; // tablica rekordów int tab_size = 0; // rozmiar tablicy int n = 0; // ilość elementów tablicy void dodaj(rekord rek) { if(n == tab_size)...
Rzeczywiście, pomyliły mi się tablice dynamiczne ze statycznymi :) Po małych testach widzę, że: #include <stdio.h> int main(void) { char array2d[3][3]; printf(" array2d = 0x%08x\n", array2d); printf("&array2d = 0x%08x\n", &array2d); printf(" array2d[0] =...
Używasz dynamicznych tablic, a nigdzie nie masz przydzielonej pamięci dla nich (tym samym - określonego rozmiaru).
Której linii dotyczy komunikat? Coś mi się zdaje, że zamiast jeden.(*dane)=1; powinno być *jeden.dane=1;
cały kod jest sporo zbędnych fragmentów dlatego go nie wkleiłem całego wczesniej. zmieniłem tak jak podałeś dziwne wartości się wyświetlaja(strasznie duże): Będe wykorzystywał funkcje init, Gnf1. Najpierw muszę zrobić rozkład ilości krawędzi w zależności od n i f, później ilość krawędzi w zależności od n przy stałym f i na odwrót. #include <stdio.h>...
Podpowiedź, tworzy się ją tak jak inne tablice dynamiczne.
A w której wersji Excela ma to działać? W nowej - z tablicami dynamicznymi (2021, 365), czy w starszej? Bez kolumn pomocniczych. W nowym Excelu: [syntax=text]=SUMA($F$2:$F$11*INDEKS($B$... W starym Excelu tablicowo: [syntax=text]=SUMA($F$2:$F$11*INDEKS($C$...
A masz wolne miejsce z przodu tablicy? Jeśli nie masz, to musisz całą tablicę dynamicznie przesunąć do przodu (nie wiem jaki masz rozmiar tablicy i ile danych).
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 (i = 0; i < rows; i++) {...
(at)up Wszystko dobrze, tylko wytłumacz mi po co deklarujesz to w ten sposób : musisz zadeklarować wskaźnik do tablicy elementów typu "wskaźnik do elementów typu struct dane" w nastepujący sposób: Po co ? Przecież on potrzebuje zwykłą tablicę, czyli jeden wskaźnik na obszar pamięci zaalokowany przez menadżer sterty. Natomiast to co ty robisz, to wskaźnik...
No cóż.... 1. Gdzie w tym programie niby masz tablicę dynamiczną? 2.[syntax=cpp]nz=&nazd[i]; [/syntax]Ile wynosi i w tym momencie? 3.[syntax=cpp]for(i=1; i<=n; i++) [/syntax]Tablice w C/C++ są indeksowane od 0 do N-1. 4. Tablicę na nazwę masz jednowymiarową a potrzebujesz dwuwymiarową. W takim razie nz[i]/nazd[i] to i-ta litera napisu w nz (nazwy),...
Ta funkcja nic nie zmieni, bo parametry przekazujesz przez wartość. Jeśli chodzi o podmianę dla tablicy rekordów, to zasadniczo się tego nie zrobi. Jeśli tablica klas, to można podmieniać elementy w taki sposób (ale elementy, nie całą tablicę!). Jeśli chcesz całą tablicę podmienić - zrób z niej tablicę dynamiczną lub operuj na wskaźnikach do niej. type...
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 "koniec" // struktura liczby calkowitej z iloscia cyfr do...
[syntax=javascript]function srednia(informatyka, angielski, fizyka, biologia, polski, matematyka, historia, sieci, wf) { var wynik = (informatyka+angielski+fizyka+biologia+p... / 9; return wynik; }[/syntax] Nie lepiej użyć tablicy :?: Takiej dynamicznej - dla dowolnej ilości liczb :!:
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 zdaniem). W Pascalu Borlanda miało to nawet pewien...
Trywialny błąd. W funkcji transponującej nie możesz jednocześnie odczytywać zmiennych z tablicy i od razu do tej samej tablicy zapisywać. Stwórz sobie drugą tablicę. np [syntax=c] void transponuj(int tab[N][M],int n, int m){ int i,j; if(n!=m){ printf("Macierzy nie da sie transponowac"); return 0;} printf("Macierz po transpozycji: \n"); for(i = 0; i...
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ą tablica z funkcji main() . Trochę mylące jest użycie tej samej nazwy...
Ponieważ wskaźnik na tab[ww][kk] jest nieokreślony. [syntax=c]Matrix(int _w, int _k) : w(_w), k(_k) { int **tab = new int *[w]; for (size_t i = 0; i < w; i++) { tab[i] = new int [k]; // +++++++++++++++++ for (size_t j = 0; j < k; k++) { tab[i][j] = 0; } // +++++++++++++++++ } ObjectCount++; }[/syntax] [syntax=c]#include <iostream> class...
Bo wogóle pierwszy malloc nie może brać rozmiaru 6*sizeof(int) ale 6*sizeof(struct bazadanych *)
Tak na wstępie to rzuca się w oczy, że beż żadnej kontroli zwalniasz w destruktorze tablicę, która wcale może nie być zainicjowana. Ponadto uważam, że klasy powinny maksymalnie separować interfejs i logikę, a u Ciebie klasa ma wszystko. Na dodatek klasy nie korzystają z siebie nawzajem. Ad rem, jesteś pewny, że podajesz właściwy numer sali w przypadku...
A dlaczego miałoby by nie być? Jedna klasyczna tablica dynamiczna jednowymiarowa która przechowuje wskaźniki do innych tablic które zawierają konkretne wiersze tablicy.
Kwiatów jest jeszcze więcej. Zamiast używać jakiejś skomplikowanej logiki przy sprawdzaniu obecności studentów, gnąc się i tnąc, używając dwóch for-ów z dynamiczną tablicą, prościej byłoby użyć mapy. Kod sprawdzania obecności skróciłby się do jednej linijki. Podobnie z dodawaniem i inicjalizacją tych wszystkich tablic.
Jest trzeba sie włamać do routera i przejrzeć dynamiczną tablice przydzielania protokołu DHCP tam beda podanie linie (powinny byś w formacie normalnego numeru urządzenia końcowego - telefonu) ale to nie jest legalne więdz nie ładnie tak robić...
No... Tworzysz tablicę dynamiczną i już. Jednak pewnie trzeba by założyć, że i tak z góry nie będziesz znał liczby punktów, lecz będą one dodawane (dla ułatwienia - w kolejności) do listy. Praca z tablicami dynamicznymi byłaby trudna, gdyż za każdym razem trzeba by ją rozszerzać. Zamiast tego zastosuj listę dynamiczną.
Deklaracja klasy: [syntax=cpp]class klasa { private: int *tablica; public: klasa(int N); }[/syntax] Konstruktor: [syntax=cpp]klasa::klasa(int n) { tablica = new int[n]; }[/syntax]
Może inaczej, gdzie robię błąd? Jak tu zadeklarowac poprawnie tablice? (bo chyba o to chodzi) Dotychczas napisałam to: Proszę pamiętać o używaniu znaczników code . - arnoldziq
Ten program ma niewiele wspólnego z C++. To C z użyciem elementów C++. Z bazy danych zrób klasę, która operuje na komórkach jak JacekCz napisał. Proszę o pomoc przy zmianie tego na tablicę dynamiczną. W sensie z pliku na tablicę? http://www.cplusplus.com/reference/set/s... Albo wybierz sobie dowolny kontener stl: http://www.cplusplus.com/reference/stl/....
Google: C++ tablice dynamiczne
stosując tablice dynamiczne lub inny kompilator.
hamowanie dynamiczne obciążenie dynamiczne parametry dynamiczne
rozrusznik skuterze zaczep schowek sterownik regulator temperatura
przełącznik hyundai obrotomierz motocykl
Schematy myjek ultradźwiękowych: komponenty i zasada działania Hormann B60: Niedziałająca optyczna krawędź zabezpieczająca