Inlägg

Inlägg som lntg har skrivit i forumet
Av lntg

Det går rätt bra att skriva det förhållandevis likt OOP-språk med fristående enheter, vars publika funktioner opererar på kontext i form av structar, där ett specifikt enhets publika funktioner får ett lämpligt prefix för att undvika kollision, som t.ex:

/* my_unit.h */ typedef struct MyUnit_ { int some_value; } MyUnit; int my_unit_do_something(const MyUnit *context); ... /* my_unit.c */ static int private_function(int value); int my_unit_do_something(const MyUnit *context) { return private_function(context->value); } static int private_function(int value) { return (int)(value * 3.1415f); }

Vill du dölja din structdefinition går det bra om du använder dynamisk minnesallokering, ex.

/* my_unit.h */ typedef struct MyUnit_ MyUnit; MyUnit *my_unit_create(); void my_unit_destroy(MyUnit *self); ... /* my_unit.c */ struct MyUnit_ { char *data; ssize_t data_size; }; MyUnit * my_unit_create() { MyUnit *self = calloc(1, sizeof(MyUnit)); self->data_size = 24; self->data = calloc(self->data_size, sizeof(MyUnit)); return self; } void my_unit_destroy(MyUnit *self) { free(self->data); free(self); }

En nackdel med C är att det är omständligt (en del boilerplatekod) att sätta upp structar med virtuella funktioner/funktionspekare vilket göra att det inte är lika vanligt, vilket i sin tur leder till att det är svårt att mocka bort objekt i test etc. Å andra sidan är det enkelt att hålla koll på vad som händer (med reservation för typkonverteringar) eftersom man måste skriva allt explicit. Att skriva C i C är dock ett rimligt råd, dvs låtsas inte att det är något annat språk. Du kan göra delar av det ex. C++ gör med klasshierarki etc manuellt men det riskerar att bli mycket jobb om du vill få ut något av det, undrar du hur mycket kan du ju alltid kolla på GObject.
I slutändan är väl det viktigaste att du har koll på vad som finns var om det är småprojekt, om någon annan ska behöva se det är det ju trevligt om det har högre läsbarhet en t.ex detta.

Av lntg

@BlackCookie: Vad är det som du behöver hjälp med? Att förstå vem som vann, att ta in/skriva ut namn på vinnare? Jag tror du behöver posta din kod.

Av lntg
Skrivet av burton666:

@mmarks: Tackar men det ska kunna göras via "line()" på något sätt där en rad ska räcka.

https://se.mathworks.com/help/matlab/ref/line.html#buzqtg4-y

Citat:
  • If x and y are both vectors with the same length, then line plots a single line.

  • If x and y are matrices with the same size, then line plots multiple lines. The function plots columns of y versus x.

  • If one of x or y is a vector and the other is a matrix, then line plots multiple lines. The length of the vector must equal one of the matrix dimensions:

    • If the vector length equals the number of matrix rows, then line plots each matrix column versus the vector.

    • If the vector length equals the number of matrix columns, then line plots each matrix row versus the vector.

    • If the matrix is square, then line plots each column versus the vector.

Av lntg

@M89: Ditt regexp ser alldeles för komplicerat ut för ditt testfall? För det exakta testfallet du har skulle jag använda något i stil med:

(TF1 HD FR|\|FR\| TF1 HD)

Av lntg

Har en http://road.cc/content/review/230139-lezyne-sport-floor-drive... och tycker att den är bra, adaptern har en feature där man kan bli av med övertrycket (i slangen) efter pumpning vilket stänger Presta- och Schraderventiler.

Av lntg
Skrivet av Napoleongl:

E4 mellan Norrköping och Motala
Skickades från m.sweclockers.com

Ny sträckning?

Av lntg
Skrivet av superegg:

Själv använder jag bara Raid 10 den är säker om man jämför den mot 5,1 och andra men det kostar en del då man förlora häften av diskar men då jag tänker mer på säkerheten så är det värt det då Raid 1 är inte så säker visst den skyddar om en disk går sönder men då risken för att den andra disken ska dö den med är hög så måste man flytta över data snabbt men då den kan dö när som helst så är det bättre att ha flera diskar för att öka säkerheten.

Exakt hur menar du att raid10 (mirror+stripe) är signifikant säkrare än raid1? Ja, med tur kan du klara 2 diskar som går ned, å andra sidan har du också dubblerat risken att en disk går ned.

Av lntg

En hake är att du dödar nuvarande användarens alla vlc-processer. Om du inte behöver stdout och bara vill starta processen och döda den efter viss tid/ett ett specifikt kriterium borde något i stil med detta fungera

#include <stdio.h> #include <signal.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t child_pid = fork(); if (child_pid == 0) { while (1) { printf("child process\n"); sleep(1); } } else { printf("time to sleep, main process\n"); sleep(5); printf("die, child process!\n"); kill(child_pid, SIGKILL); } }

...om du byter ut den meningslösa child-loopen mot någon lämplig variant av exec och ändrar SIGKILL till SIGTERM.

Av lntg
Skrivet av paulreedsmith:

Har Ubuntu- versionen ett annat Wi-Fi kort? Köpte Kaby Lake dev edition och min har Killer Wi-Fi iaf, vet inte om det är samma som på W10 versionen, men W10 går hur bra som helst på min iaf. Inga problem med drivers eller nått.

Tidigare varianter av Ubuntuversionen hade ett wifi-kort från Intel pga avsaknad av (fungerande) linuxdrivrutiner till Broadcomkortet i Windowsvarianterna. I XPS 13 med Kaby Lake (9360) har har både Ubuntu- och Windowsversionerna Killer 1535.

Av lntg
Skrivet av drulovic:

Comviqs kampanj är reklam för just Flashback dvs yttrandefrihet på riktigt och båda era inlägg är ett människoförakt mot oliktänkande. Skrämmande tankesätt och en farlig utveckling för Sverige och direkt anledning till att SD existerar.

Det finns viss humor i att du anser att kritik mot att nivån på diskussionen är för låg är "ett människoförakt mot oliktänkande" samtidigt som du i denna tråd hånar dem som inte delar dina åsikter.

Av lntg
Skrivet av loffis:

När du använder x[] får du inte skriva x[size + i]. För dig skall det stå x[i].

Skrivet av gunnar_larsson_mandrake:

... cin >> x[size+i]; //Skrev från början int[size+1] men fungerande inte. ändrade till x. FUNKADE! ... cout << "Temperature for measure " << i+1 << " is " << x[size+i] << "\n"; sum = sum+x[size+i]; //Räknar ut medelvärde. Svår att få rätt iom size. float s = size; //Programmet kraschar om jag delar på size. osäker på varför, men det fungerar om jag skapar en ny variabel med samma värde. mean = sum/s; ...

Precis som @loffis säger så kan du inte skriva x[size+1], om x har size antal element skall de accessas med x[n], 0 <= n < size, annars kommer du att läsa/skriva på fel plats, vilket kan leda till att du skriver sönder andra variabler eller kraschar, siffran innanför hakparenteserna är alltså en offset från arrayens start. mean = sum / size borde fungera.

Av lntg
Skrivet av gunnar_larsson_mandrake:

Tack Perost! Har städat upp lite enligt anvisningar. Går att köra nu och tillkalla i main, men utskriften blir fel. Sorteringen kan inte fungera. Försöker hitta felet, men det måste ju ligga i bubbelfunc...

#include <iostream> using namespace std; class Person { public: int age; void Info(int _age) { age = _age; } static bubbelfunc(Person p[], int m = 10) { for(int i = 0; i < m; i++) { int siffrorkvar = m - i; for(int j = 0; j < siffrorkvar; j++) { if(p[j].age > p[j + 1].age) { int temp; temp = p[j].age; p[j].age = p[j+1].age; p[j+1].age = temp; } } } for(int i = 0; i < 10; i++) { cout << p[i].age << " " << "\n"; } } }; int linsearch(Person p[], int key, int n = 10) { for(int i = 0; i < n; i++) { if(p[i].age == key) { return i; } } return -1; } int main() { Person p[10]; Person::bubbelfunc(p, 10); p[0].Info(19); p[1].Info(33); p[2].Info(25); p[3].Info(47); p[4].Info(24); p[5].Info(94); p[6].Info(73); p[7].Info(53); p[8].Info(66); p[9].Info(49); int key = 49; int index = linsearch(p, key); if(index == -1) cout << "No result."; else cout << "Age " << key << " is on index " << index; return 0; }

Det största felet är nog att du försöker sortera personerna efter ålder innan du har initierat deras ålder Dessutom är uträkningen av siffrorkvar felaktig, tänk dig att m = 1 och i = 0, vad förväntar du dig att siffrorkvar ska bli då och vad blir den idag?

Av lntg
Skrivet av Litenskit:

Låt f(x) = (1−2x)/(x+1) Hitta inversen f^−1:

y=(1-2x)/(x+1) Multiplicera upp (x+1)
y(x+1)=1-2x Utvidga parantesen i VL
xy+y=1-2x

Sedan fattar jag inte mer men det blir iaf
x(y+2)=1-y
x=(1-y)/(y+2)
Alltså f^-1(x)=(1-x)/(x+2)

Vad händer mellan steg 3 och 4?

Det kanske blir enklare med lite fler explicita steg?
xy + y = 1 - 2x
xy + y + 2x = 1
xy + 2x = 1 - y
x(y + 2) = 1 - y

Av lntg

Produkt: Sennheiser HD 598Cs
Länk: https://www.amazon.de/dp/B01JP436TS
Prisjakt:
Pris: 99 EUR

Av lntg
Skrivet av Elgot:

Fast av det här låter det väl som att högskoleprovet ändå fungerar hyfsat:
Fem procentenheters skillnad kan väl inte anses vara så illa för en mätning som tar några timmar istället för flera år?
Edit: Och det låter väl som ett ganska lågt pris om man skulle kunna undvika jobb och stress som betygsättning och betyg för med sig?

Problematiken är att HP-resultat verkar vara dåliga på att prediktera studieresultat. Jag lyckades hitta vad jag tror är källan, och hans slutsatser verkar vara att det är lika troligt att någon med lågt som högt HP-resultat har kandidatexamen (eller motsv antal poäng) efter 5 år.

Av lntg
Skrivet av Yorg:

Har varken tid eller möjlighet att gå till källan, men artikeln har en märklig argumentation. Menar de på allvar att de undersökt 2 faktorer bara? Att de kollat på gymnasiebetyg och sen resultat på HP utifrån vilka som fem år senare hade en kandidatexamen? Inte ens bara undersökt de som faktiskt börjat på universitet/högskola? Det låter som jävligt tunn forskning och långt dragna slutsatser.

Jag tolkade som att de undersökt de som faktiskt börjat (och rimligtvis tid efter de börjat och inte provtillfälle e dyl), annars håller jag med om att det är tunt.

Jag rotade reda på vad jag tror är källan.

Av lntg
Skrivet av Elgot:

Idén är väl att man på ett hyfsat snabbt sätt skall kunna förutsäga hur bra någon kommer att klara högre studier, inte att kontrollera kunskaper (användbara eller ej). Borde inte någon ha jämfört framgångarna hos folk som har antagits via högskoleprov respektive traditionella betyg (som ju inte heller nödvändigtvis alltid är en lysande indikator)?

Det har jämförts, se exempel här t.ex, även om en nyare källa vore intressant.
TL;DR Gymnasiebetyg korrelerar (tydligt) med sannolikhet att ha minst kandidatexamen efter 5 år på högskola, HP-resultat gör det inte.

Av lntg

Varför inte bara lägga till templatesökvägen, i stil med https://blogs.office.com/2010/03/08/how-to-create-view-and-sh... ?
Annars borde robocopy klara av det hela med rätt flaggor.

Av lntg
Skrivet av Larsp777:

Ok, såklart har man alla commits lokalt också... Funderade på vad eleverna kunde fråga om.

Så egentligen behövs bara github för samarbete eller backup?

Ja, det är ju en fundamental egenskap hos ett distribuerat versionshanteringssytem

Om vill lära dig git så rekommenderar jag att du läser lite i http://www.git-scm.com/book/en/v2 som går igenom det mesta. Dessutom finns https://pcottle.github.io/learnGitBranching/ som är mer utav en interaktiv guide som visar vad diverse git-kommandon gör.

Av lntg

Har du pratat med dem?