Aktywne Wpisy
WielkiNos +233
Masz dogofobię i boisz się psów? Jesteś nienormalny. Dlaczego psiarz z pitbulem bez kagańca w pociągu ma się do ciebie dostosowywać?
Na szczęście przed roszczeniowymi psiarzami, którzy nie są świadomi rzeczy oczywistych chroni nas regulamin przewoźnika mówiący wyraźnie, że jeśli komuś w pociągu przeszkadza pies to pies ma zmienić miejsce.
#psiarze #prawo #bekazpodludzi #truestory #bekaztwitterowychjulek
Na szczęście przed roszczeniowymi psiarzami, którzy nie są świadomi rzeczy oczywistych chroni nas regulamin przewoźnika mówiący wyraźnie, że jeśli komuś w pociągu przeszkadza pies to pies ma zmienić miejsce.
#psiarze #prawo #bekazpodludzi #truestory #bekaztwitterowychjulek
UlanaGraszka +32
Pierwszy, dłuższy wyjazd w #bieszczady z bombelkiem. Wiek taki, że ulubioną zabawkopamiątką jest kamyk #dzieci
int *wsk=tab[i]
przypisuje wartości do tab[i] i jak mam potem znaleźć te niezerowe elementy i przypisać je do tablicy B? Wszystko ogarniam, ale z tym wskaźnikiem #!$%@? się juz z 5h.
#programowanie #jezykc #studbaza
1. robisz pierwszy obieg pętli i liczysz ile jest niezerowych elementów
2. alokujesz pamiec tyle ile trzeba na niezerowe elementy
3. robisz fora z dwoma indeksami - jeden na tablice A, drugi na tablice B
4. lecisz tym forem po tablicy A i indeks na tablice B inkrementujesz tylko jak wrzucisz niezerowy element w stylu
if(tab_a[i_a] != 0 )
{tab_b[i_b] = tab_a[i_a];
i_b++;`}
5.
U mnie program wygląda tak i potem nie mam pojęcia co robić.
wygląda tak jakbyś przespał cały semestr wykładów (✌ ゚ ∀ ゚)☞
pomijam nieświadomy fakt użycia VLA
Ogólnie to jestem nowicjuszem pod tym względem.
deklarujesz zmienną
n
- ma ona śmieciowe wartości, bo nic tam nie wpisałeś. może być 0, może być 2313128to samo z
m
następnie tworzysz
tab[n]
na stosie. generalnie powinno się albo tworzyć tablice ze stałym rozmiarem - np. tab[255], albo alokować dynamicznie za pomocą malloc. ty w tym przypadku korzystasz z VLA, czyli odkładasz na stosie tablicę ze zmiennym rozmiarem - który w tym przypadkuAle przechodząc do dalszej części programu. Już miałem kilka pomysłów i jak może się wydawać żadnej nie zadziałał. Tak jak na zdjęciu, chciałem zliczyć elementy niezerowe, przypisać ich liczbę do zmiennej m, tak żeby zgadzała się ilość elementów w tablicy tab1[m], a potem wstawić te wartości za
wyobraź sobie, że masz rozłożone karty na stole, wartościami do dołu, jedna za drugą. odwracasz 5 kart w tym rządku - to twoja tablica. wiesz, że masz ich 5, bo są odwrócone. a teraz zapisz sobie z boku na kartce, że masz ich 5 - to twoja zmienna
tab[5], przypisać int *wsk=&tab[5]
int *p=wsk
i potem za pomocą wskaźnika p przejrzeć tab[5] w poszukiwaniu elementów niezerowych, zapisać ilość tych elementów np do int m
stworzyć tab1[m] i znowu za pomocą wskaźnika p przypisać odpowiednie wartości niezerowe do tej tablicy?
możesz zrobić od razu
int *p = tab;
i możesz się odwoływać do elementów zarówno
p[2]
(jak z tablicą), jak inkrementować 'p++; *p', jak i*(p+2)
.int tab[n]
. Pamiętając, że kod wykonuje się linijka po linijce, ile wtedy wynosin
?Wskaźniki są bardzo proste do opanowania, tylko trzeba się skupić na semantyce i zrozumieć jak to działa pod spodem.