Informatika

Meteotech 9 066 hozzászólás
Olaszfalu
#6 865
Zozz írta #6 864

Elõször a routeren állítsd be a WiFi-t. A PC-n a böngészõdbe írd be a router IP címét (ez általában 192.168.0.1 vagy 1 helyett 255) majd itt engedélyezd a wireless network opciót, adj meg egy SSID-t (ez lesz a hálózat…

Hû. laza Izzzé. Hogy érted pontosan,hogy a routeren állítsam be a wifit? Tudom,mik azok,csak nem értem,hogy érted.
#6 864
Zafir írta #6 862

Sziasztok! Hozzáértõk segítségét kérem! Adott két számítógép. Egy asztali PC és egy Asus laptop. Az asztali géphez van kötve egy TP-link router. Szeretném igénybevenni a netet a laptopon is,ám nem tudom,miként kell…

Elõször a routeren állítsd be a WiFi-t. A PC-n a böngészõdbe írd be a router IP címét (ez általában 192.168.0.1 vagy 1 helyett 255) majd itt engedélyezd a wireless network opciót, adj meg egy SSID-t (ez lesz a hálózat neve) a titkosítás (security) állítsd WPA2-re adj meg jelszót, majd mentsd a beállításokat. A laptopon operációs rendszertõl függõen van valamilyen hálózati beállítási lehetõség, itt Vezetéknélküli hálózatot kiválasztva meg kell, hogy jelenjen a routeren beállított SSID. Ezután csatlakozás, beírod a jelszót és kész is! kacsint
Olaszfalu
#6 862
Sziasztok!

Hozzáértõk segítségét kérem!
Adott két számítógép. Egy asztali PC és egy Asus laptop. Az asztali géphez van kötve egy TP-link router. Szeretném igénybevenni a netet a laptopon is,ám nem tudom,miként kell beállítani a vezetéknélkülu hálózatot a laptopon,illetve gõzöm sincs,hogyan "érzékeli" a laptop a routert. Hogyan álljak neki a "csatlakozásak"? Segítségeteket elõre is köszönöm!
#6 861
tjanos88 írta #6 858

Ezt a részt ilyenné alakítottam, ahogy mondtad: const char* input[] = {"mars20090216_0000+3.nc2", "mars20100210_0000+24.nc2", "mars20090216_0000+6.nc2" }; + javítottam a ciklusokban az elírást. Ezzel a *-gal én még…

Ha csak a filenevet adod meg, a fileoknak ugyanabban a könyvtárban kell lenniük, mint a programnak. Ha máshol vannak, add meg a teljes elérési utat, különben jön a no such file or directory hiba.
A const char* input[]={"nev1", "nev2", "nev3"}; ertekadas igy jo, ahogy írtad, az input egy olyan tömb, ami a felsorolt stringekre mutató mutatókat tartalmaz. input[m] const char* típusú, az m-edik string (karaktertömb) címét tartalmazza, az nc_open függvénynek pont ez kell, ahogy met4ever is írta.
Ha a tömböket a main-en belül deklarálod, akkor csak a main függvényben használhatod, a main-bõl hívott függvényekben sem! Ha minden függvényen kívül, akkor használhatod bárhol a forrásfile további részében.
#6 860
met4ever írta #6 859

Ez az input és output definiálása, azonnali értékadással. Elvileg elégnek kellene lennie... A fileneveknél a teljes elérési útvonalat meg kellene adni a file nevével együtt, hogy tényleg megtalálja, hogy mit kell…

Egy harmadik féle input/output megadás expliciten az egyes file-nevek max.hosszával (pl.100 karakter), de ide is bele kellene még csempészni a file-ok elérési útvonalát:

const char input[3][100] = {"mars20090216_0000+3.nc2",
"mars20100210_0000+24.nc2",
"mars20090216_0000+6.nc2" };
#6 859
tjanos88 írta #6 858

Ezt a részt ilyenné alakítottam, ahogy mondtad: const char* input[] = {"mars20090216_0000+3.nc2", "mars20100210_0000+24.nc2", "mars20090216_0000+6.nc2" }; + javítottam a ciklusokban az elírást. Ezzel a *-gal én még…

Ez az input és output definiálása, azonnali értékadással. Elvileg elégnek kellene lennie...
A fileneveknél a teljes elérési útvonalat meg kellene adni a file nevével együtt, hogy tényleg megtalálja, hogy mit kell megnyitni. Ezt a main-ben kell megadni, ha ott is használod fel az nc_open-ben.

Ezt találtam a neten az nc_open() függvényre:
int nc_open (const char *path, int omode, int *ncidp);

Ha ugyanezt hívod meg a programban, akkor az elsõ paraméternek egy const char-ra mutató pointernek kell lennie, az input[m] pont ilyen. A függvény paramétereként nem kell elé semmi, csak input[m].
A fv második paramétere egy int, gondolom az NC_NOWRITE az az.
A fv 3. paramétere pedig egy int-re mutató pointer. mivel gondolom az ncid csak egyszerû int-ként van definiálva, az elé oda kell tenni a függvényben való felhasználáskor a &-t, hogy a változó címére mutasson (mintha pointer lenne).
De az elsõ paraméternél nem kell semmi, mert az már eleve pointerként van definiálva.

Mielõtt a for cikluson belül az nc_open(input[m], NC_NOWRITE, &ncid)-ben felhasználod az input[m]-et, elõbb ki is irathatnád a képernyõre mondjuk így:

puts(input[m]);

hogy lásd, hogy jó-e az aktuális input[m] értéke, amit felhasználnál a fv-ben.
(file elérési útvpnal is legyen jól benne!)



Ha valamiért nem szereti a compilered az input/output elõbbi definiálását és értékadását, akkor így is kipróbálhatod:

const char* input[3]; //3 konstans stringet tartalmazó tömb létrehozása

input[0] = "mars20090216_0000+3.nc2"; //String értékadás egyenként
input[1] = "mars20100210_0000+24.nc2";
input[2] = "mars20090216_0000+6.nc2";

Természetesen ekkor is a teljes elérési úttal kellene a file-neveket megadni.
Vigyázni kell arra is, hogy az input ill. output indexe ne fusson túl jelen esetben 2-n, mert akkor azonnal segmentation fault lehet...
#6 858
met4ever írta #6 856

A "char" tipus csak egyetlen karaktert jelöl a C-ben. Ha egy tömböt csinálsz belöle, akkor kapsz karaktersorozatot (pl. egy filenév). A definicioban szereplo []-vel adod meg, hogy tömbröl van szó, illetve megadható…

Ezt a részt ilyenné alakítottam, ahogy mondtad:

const char* input[] = {"mars20090216_0000+3.nc2",
"mars20100210_0000+24.nc2",
"mars20090216_0000+6.nc2" };

+ javítottam a ciklusokban az elírást.

Ezzel a *-gal én még hadilábon állok, nem tudom, hogy az input[] és output tömböket kell-e még definiálni, vagy ez elég:
const char* input[] = {"mars20090216_0000+3.nc2",
"mars20100210_0000+24.nc2",
"mars20090216_0000+6.nc2" };

Abban sem vagyok biztos, hogy ez utóbbit a main-en belül vagy kívül kell definiálni, ha belül hagyom, akkor Segmentation fault a vége, ha kívül, akkor no such file or directory hiba.

A for cikluson belül elég akkor így?
nc_open(input[m], NC_NOWRITE, &ncid)

nem kell se & se * az input elé?
#6 856
tjanos88 írta #6 855

Hogyan lehet megoldani C-ben, hogy a beolvasandó és a kimeneti fájlnevek változók legyenek, amelyeket egy tömbben adok meg? Az egyszerûség kedvéért csak 3 adattal: const char input[3] = { mars20090216_0000+3.nc2,…

A "char" tipus csak egyetlen karaktert jelöl a C-ben. Ha egy tömböt csinálsz belöle, akkor kapsz karaktersorozatot (pl. egy filenév). A definicioban szereplo []-vel adod meg, hogy tömbröl van szó, illetve megadható számmal ennek hossza.

Igy pl. ez: const char input[3] egy 3 karakterböl álló konstans karaktertömböt (sztringet) jelöl. Ami még csak egyetlen rövidke file-név lehetne, nem pedig 3, amit szeretnél.
Igy ez szerintem nem felel meg az adott célnak:

const char input[3] = { mars20090216_0000+3.nc2, mars20100210_0000+24.nc2,
mars20090216_0000+6.nc2 };

const char output[3] = {bspi20090127_0000+00300.nc, bspi20090127_0000+00600.nc, bspi20090127_0000+00900.nc };

Helyette hozz létre egy pointert, ami a megadott sztringek (idezöjellel megadandó!!!) elsö karakterére fog mutatni mindig, igy:

const char* input[] = {"mars20090216_0000+3.nc2",
"mars20100210_0000+24.nc2",
"mars20090216_0000+6.nc2" };

const char* output[] = {"bspi20090127_0000+00300.nc",
"bspi20090127_0000+00600.nc",
"bspi20090127_0000+00900.nc"};


Itt tehát az input[0] az elsö beolvasando file nevére (pontosabban annak elsö karakterére) mutat, az input[1] a másodikra, stb.

Ekkor már müködnie kell a retval = nc_open(input[m],... -nek
illetve a retval = nc_create(output[n],... -nek

Feltéve, hogy az nc_open() es az nc_create() függvény elsö argumentumának const char* tipusunak kell lennie. Remélhetöleg annak. Ha nem, akkor még a kivant tipusba kell konvertálni...

Szerk: rákerestem, s annak kell lennie, mert:

int nc_open (const char *path, int omode, int *ncidp);



Amit még eszrevettem kódodban, hogy a ciklusoknál kis elirás becsuszott:

for(m=0; m kisebb 3; i++)
for(n=0; n kisebb 3; i++)

Itt m++ illetve n++ kell persze az i++ helyett.
#6 855
Hogyan lehet megoldani C-ben, hogy a beolvasandó és a kimeneti fájlnevek változók legyenek, amelyeket egy tömbben adok meg?
Az egyszerûség kedvéért csak 3 adattal:
const char input[3] = { mars20090216_0000+3.nc2, mars20100210_0000+24.nc2,
mars20090216_0000+6.nc2 };

const char output[3] = {bspi20090127_0000+00300.nc, bspi20090127_0000+00600.nc, bspi20090127_0000+00900.nc };

Azt szeretném, hogy a következõ kódban a ciklus alapján elõször az elsõ fájlnévvel helyettesítse az input[m] elsõ értékét.

for(m=0; m kisebb 3; i++)
{

if ((retval = nc_open(input[m], NC_NOWRITE, &ncid)))
ERR(retval);

...
}

Azaz m=0 esetén az input[m] helyére mars20090216_0000+3.nc2 kerüljön.


Aztán kiíratásnál új fájlt hozok létre, amibe írok, ott pedig az elsõ lépésben az output tömb elsõ fájlnevét helyettesítse az uptput[n]-be.

for(n=0; n kisebb 3; i++)
{
if ((retval = nc_create(output[n], NC_CLOBBER, &ncid1)))
ERR(retval);


...
}

Tehát ezek csak részletei a programnak, de remélem érthetõ. nevet
Kisvárda
#6 854
Rudolfking írta #6 850

Megpróbálhatod esetleg a monitor menüjét (OSD)? Asus-oknál szokott bemenetválasztó lenni (VGA/DVI/HDMI(?)). Viszont a HDMI-rõl eddig sok feketemágiát hallottam, szóval még vidkari driver probléma is lehet, érdemes a…

DVI csatlakozót adtak hozzá azzal megy rendesen, elég jó ezzel is.
Kemecse
#6 851
Rudolfking írta #6 850

Megpróbálhatod esetleg a monitor menüjét (OSD)? Asus-oknál szokott bemenetválasztó lenni (VGA/DVI/HDMI(?)). Viszont a HDMI-rõl eddig sok feketemágiát hallottam, szóval még vidkari driver probléma is lehet, érdemes a…

Letöltöttem a Net Framework 4-et és a telepítésnél ezt írja ki "Telepítse a 32 bites Windows képkezelõ összetevõt,de fel van rakva,mert tudtommal shingvw.dll az.Aki tud légyszi segítsen.Elõre is köszi!!
#6 850
Meteo írta #6 849

Vettem egy új monitort, Asus VE228 és adtak hozzá egy halom kábelt, de sajnos HDMI kábel nem volt hozzá, így a VGA porthoz kapcsoltam a monitort a Sapphire HD6670 videokártyán. Mivel van a videokártyán HDMI port ezért…

Megpróbálhatod esetleg a monitor menüjét (OSD)? Asus-oknál szokott bemenetválasztó lenni (VGA/DVI/HDMI(?)). Viszont a HDMI-rõl eddig sok feketemágiát hallottam, szóval még vidkari driver probléma is lehet, érdemes a legfrissebb Catalyst Suite-t felpakolni és úgy próbálni.
Kisvárda
#6 849
Vettem egy új monitort, Asus VE228 és adtak hozzá egy halom kábelt, de sajnos HDMI kábel nem volt hozzá, így a VGA porthoz kapcsoltam a monitort a Sapphire HD6670 videokártyán. Mivel van a videokártyán HDMI port ezért vettem egy HDMI kábelt. HDMI cable with Ethernet. Kihúztam a VGA kábelt, összedugtam a HDMI-t erre semmi, kiírja a monitor hogy No VGA. Mi lehet a gond? Tud valaki segíteni?
#6 847
tjanos88 írta #6 846

Ismét volna egy kérdésem C-vel kapcsolatban. Azt szeretném megoldani, hogy különbözõ fájlok beolvasásakor ne kelljen mindig átírnom a programban a fájlnevet. Ha futtatáskor a ./program.exe után beírom a fájlnevet, akkor…

Igy kell ezt használni: Link
#6 846
Ismét volna egy kérdésem C-vel kapcsolatban.
Azt szeretném megoldani, hogy különbözõ fájlok beolvasásakor ne kelljen mindig átírnom a programban a fájlnevet.
Ha futtatáskor a ./program.exe után beírom a fájlnevet, akkor ha argumentumként adom meg a programban, akkor elvileg mûködnie kell.

Nem tudom érthetõ-e.

int main(char fajlnev)
zárójel
...
nc_open(fajlnev, ...

Tudom, hogy ez így nem jó, az volna a kérdésem, hogy hogyan lehetne megoldani a problémát?
Vagy nem a main-ben, hanem egy külön függvényben kellene argumentumot létrehoznom?
Kemecse
#6 845
fetcroll írta #6 839

Egyik kedvenc oldalamról kibannoltak, az lényegtelen hogy miért. Tudnátok segíteni IP cím megváltoztatásában? Köszönöm. :)

Ha dinamikus IP-d van csak húzd ki a netet,dugd be és már mehetsz is vissza!vidám
Kemecse
#6 844
Sziasztok.
Windows Vista van a gépemen,de XP-t akarok fel rakni,és ezt írja ki ha rá kattintok a telepítésre:A program le van blokkolva kompatibilitási problémák miatt! Elõre is köszi a segítséget.
#6 837
tjanos88 írta #6 835

Sikerült megoldani, a fõ problémája az volt, hogy egyik helyen float maradt, a másikon pedig int. :÷i Nem akarom teleírni a fórumot a kérdéseimmel, úgyhogy a következõ lesz mára az utolsó. :) float hom; float temptag;…

Használj inkább float helyett double típusú változókat. A nem egész kifejezésekben ugyis azzal számol, vagy float-ra kell cast-olni az értékadás elõtt. (A temptag[i,j] gondolom csak elírás, nem így szerepel a kódban.)
#6 836
tjanos88 írta #6 835

Sikerült megoldani, a fõ problémája az volt, hogy egyik helyen float maradt, a másikon pedig int. :÷i Nem akarom teleírni a fórumot a kérdéseimmel, úgyhogy a következõ lesz mára az utolsó. :) float hom; float temptag;…

Közben rájöttem:
temptag[i,j] helyett temptag[j] kell. szegyenlos
#6 835
Sikerült megoldani, a fõ problémája az volt, hogy egyik helyen float maradt, a másikon pedig int. szegyenlos

Nem akarom teleírni a fórumot a kérdéseimmel, úgyhogy a következõ lesz mára az utolsó. nevet
float hom[ny][nx];
float temptag[ny][nx];

for(i=0; i kisebb Ny; i++)
{
for(j=0; j kisebb Nx; j++)
{

hom[j] = ( temp_in[0][j] - kelvin );

if( hom[j] kisebb= -6.5 )
{
temptag[i,j] = (1.0);
}

else if(( hom[j] nagyobb -6.5 ) && ( hom[j] kisebb= 0.5 ))
{
temptag[i,j] = (0.2196-0.178 * hom[j] - 0.0087 * (pow(hom[j],2)));
}

}
}

A hibaüzenet pedig:
beolvaso.c:126:20: error: incompatible types when assigning to type float[291] from type double
Ezt mindkét temptag-os sornál jelzi.
#6 833
tjanos88 írta #6 831

if ((retval = nc_put_var_int(ncid1, isoLevel_id, &maxVertLevels_v))) ERR(retval); A hozzátartozó dolgok pedig: int isoLevel_id; int maxVertLevels_v[32] = {1000, 990, 980, 970, 960, 950, 940, 925, 900, 880, 860, 850,…

A maxVertLevels_v elé nem kell az &, mert a tömb neve önmagában a tömb címét jelenti. Ha a maxVertLevels_v tömböt const-ként deklarálod, a warning is el fog tünni.
#6 832
tjanos88 írta #6 828

Köszönöm szépen, végül sikerült. :) Az i,j definiálva volt, a másik két dolgot javítottam és végül ez lett a helyes kódrészlet. :) const float kelvin = 273.15; float hom; for(i=0; i kisebb Ny; i++) zárójel for(j=0; j…

Örülök kacsint
Mici javaslatát inkább ne jegyezd meg, C-ben lehet ilyesmit csinálni, csak nem szabad nyelvnyujtas , ezért is nem szokták a C-t programozás tanulásra javasolni...
#6 831
micibot írta #6 830

Az nc_put_var_int sorod hogy néz ki?

if ((retval = nc_put_var_int(ncid1, isoLevel_id, &maxVertLevels_v)))
ERR(retval);

A hozzátartozó dolgok pedig:

int isoLevel_id;
int maxVertLevels_v[32] = {1000, 990, 980, 970, 960, 950, 940, 925, 900, 880, 860,
850, 840, 820, 800, 780, 760, 740, 720, 700, 650, 600, 550, 500, 450, 400,
350, 300, 250, 200, 150, 100};

De amúgy jó a kimenet, szépen beírja az nc fájlba, amit akarok. nevet
#6 830
tjanos88 írta #6 829

Egy ilyen warning-om van még, ami nem okoz gondot, de ha meg lehet oldani, akkor ezt is szívesen eltávolítanám. :) beolvaso.c:307:2: warning: passing argument 3 of nc_put_var_int from incompatible pointer type [enabled…

Az nc_put_var_int sorod hogy néz ki?
#6 829
Egy ilyen warning-om van még, ami nem okoz gondot, de ha meg lehet oldani, akkor ezt is szívesen eltávolítanám. nevet

beolvaso.c:307:2: warning: passing argument 3 of nc_put_var_int from incompatible pointer type [enabled by default]
/usr/include/netcdf.h:1536:1: note: expected const int * but argument is of type int (*)[32]
#6 828
Zozz írta #6 826

1. a kelvin elé nem kell a &, ha így írod, a változó címét jelenti, nem az értékét. 2. az i és j változók fognak végigmenni a tömb-indexértékeken, így ezeket használd a tömb indexelésére: temp_in[0] 3 a program elején…

Köszönöm szépen, végül sikerült. nevet
Az i,j definiálva volt, a másik két dolgot javítottam és végül ez lett a helyes kódrészlet. nevet

const float kelvin = 273.15;
float hom[ny][nx];

for(i=0; i kisebb Ny; i++)
zárójel
for(j=0; j kisebb Nx; j++)
zárójel

hom[j] = (temp_in[0][j] - kelvin);

zárójel
zárójel

Mici: Hm, ilyesmirõl már olvastam, feljegyzem, hátha szükség lesz rá. Egyelõre viszont nekem így könnyebben átlátható. nevet
#6 827
tjanos88 írta #6 825

C-ben egy tömb minden egyes elemébõl ki kellene vonnom egy konstans értéket, de csak nemrég kezdtem ezzel a nyelvvel foglalkozni és sajnos nem megy. Tudna valaki segíteni? Az Ny és Nx korábban már definiálva vannak.…

Ha emlékeim nem csalnak, akkor ezt 1 ciklussal is meg lehet oldani nevet Lehet a a hom-ot 1 dimenziósként is kezelni, és 0..x*y-1 végig lehet járni az értékeket, sõt a tömb határon túl is lehet menni. Mi annó Borland C-ben bohóckodtunk, ha nagyon elmászott egy-egy pointer, könnyen összeomlott a környezet.
#6 826
tjanos88 írta #6 825

C-ben egy tömb minden egyes elemébõl ki kellene vonnom egy konstans értéket, de csak nemrég kezdtem ezzel a nyelvvel foglalkozni és sajnos nem megy. Tudna valaki segíteni? Az Ny és Nx korábban már definiálva vannak.…

1. a kelvin elé nem kell a &, ha így írod, a változó címét jelenti, nem az értékét.
2. az i és j változók fognak végigmenni a tömb-indexértékeken, így ezeket használd a tömb indexelésére: temp_in[0][j]
3 a program elején i-t és j-t is definiálni kell: int i, j;

Sok sikert! nevet
#6 825
C-ben egy tömb minden egyes elemébõl ki kellene vonnom egy konstans értéket, de csak nemrég kezdtem ezzel a nyelvvel foglalkozni és sajnos nem megy. Tudna valaki segíteni?
Az Ny és Nx korábban már definiálva vannak.

float kelvin = 273.15;
float hom[ny][nx];

for(i=0; i kisebb Ny; i++)
zárójel
for(j=0; j kisebb Nx; j++)
zárójel

hom =(float)(temp_in[0][0][0] - &kelvin);
zárójel
zárójel

A float temp_in[1][ny][nx]; pedig ilyen alakú, egy netcdf fájlból van kivéve.
Miskolc
#6 824
olivera írta #6 812

A Google Earth távolság mérése mennyire reális? Állítólag elég pontos úgy tudom.

Ha két pont közti távolságot akarsz tudni, arra jó. Ha egy útvonal távolsága kell, akkor az útvonalon felvett pontok számától függ a pontossága (rendszeresen használom az edzéseim távolságának becslésére, egy 30km-es futóedzésen már 5-600m is lehet az eltérés a gps-es órával mérthez képest, mondjuk elég lusta vagyok a töréspontok elhelyezését illetõen)
Miskolc
#6 823
peti80 írta #6 821

Tegnapelõtt frissült a böngészõm (Mozilla Firefox) 11.0-ra. Azóta nem indul el a Honfoglaló játék ezzel a böngészõvel. Véleményetek?

Nem árt flash playerbõl is a legfrissebbet feltenni.
Link
(pipát ne felejtsd el kivenni a mcafee-s kéretlen program elõl)
#6 819
Tomka1994 írta #6 818

Sziasztok! Érdeklõdnék, hogy a Weather display 10.37e verziójának telepítõje meg van-e valakinek? Ha igen, örülnék, ha elküldené nekem mail-ben. Köszönöm! :)

Szia.
Próbáltam elküldeni a gmail-es címre de visszaküldte a gmail, vagy nincs elég hely a postafiókodban vagy alapból nem enged a ekkora levelet. 14MB a mérete a programnak.