Kezdőlap › Fórumok › Programozás › Probléma c-ben
- This topic has 21 hozzászólás, 8 résztvevő, and was last updated 20 years, 7 months telt el by
tovis.
-
SzerzőBejegyzés
-
2004-10-31-19:03 #1981545
Kösz a segitseget, megvan a megoldas.
A lefoglalásmal volt a baj (csomagszam+1 méretût kellet lefoglalni).Egyebként minek folytatnék egy olyan programot, ami már az egyik változó inicializálásánál sem müködik jól.
2004-11-02-09:17 #1981546ezt kell kommentezni, hogy mûködjön:
for (l=0;l
[align=right][snapback]93974[/snapback][/align] Kicsit tényleg átláthatatlan a program. 😛
Egyébként nem hiszem, hogy ez a sor a hibás, hiszen ha foglalsz helyet mondjuk egy 10 elemû tömbnek, és aztán 0-tól 9-ig végigmész és kinullázod, annak mûködnie kell.
A te progid pont ezt csinálja az idézett résznél.2004-11-16-11:50 #1981547Nem tudomm megoldani a kötelezõ programokat c-ben.
Két tetszõlegesen nagy (string-ként tárolt) egész szám összeszorzása.
Figyelj az elõjelekre is! Az input formája: két sorban a két szám leírása. A
szám megadásában az elsõ karakter + vagy – elõjel lehet (de az elõjel el is
hagyható), az összes többi karakter decimális számjegy. Az inputot a be.txt
fájlból kell olvasni! Az output az két szám szorzata. Az outputot a ki.txt
fájlba kell írni!Példa input:
100200300400500600700800900
-123Példa output:
-123246369492615738861985107002004-11-16-12:09 #1981548Nem tudomm megoldani a kötelezõ programokat c-ben.
Két tetszõlegesen nagy (string-ként tárolt) egész szám összeszorzása.
Figyelj az elõjelekre is! Az input formája: két sorban a két szám leírása. A
szám megadásában az elsõ karakter + vagy – elõjel lehet (de az elõjel el is
hagyható), az összes többi karakter decimális számjegy. Az inputot a be.txt
fájlból kell olvasni! Az output az két szám szorzata. Az outputot a ki.txt
fájlba kell írni!Példa input:
100200300400500600700800900
-123Példa output:
-12324636949261573886198510700
[align=right][snapback]97574[/snapback][/align]szal kell egy formás main
benne az input file megnyitása: fopen(…
ciklus 1
olvagatás, soronként: fgets(…
ha van értlemes érték: atof(…
vége ciklus 1
input file lezár: fclose(…
van két értlemes (!=0) adatod if (szam1 && szam 2)
ha van
szorzok *
output file megnyitása fopen(…
érték kiírása fwrite(…
output file lezár: fclose(…
ha nincs
kiüzensz hogy … printf(stderr,
ha vége
main vége2004-11-16-12:36 #1981549ugyan nem probaltam, de nem hiszem hogy ez „tetszolegesen nagy” ertekekre menne, meg double tipussal sem…
gondolj bele mondjuk ket 150 jegyu szam osszeszorzasaba…2004-11-16-12:52 #1981550ugyan nem probaltam, de nem hiszem hogy ez „tetszolegesen nagy” ertekekre menne, meg double tipussal sem…
gondolj bele mondjuk ket 150 jegyu szam osszeszorzasaba…
[align=right][snapback]97586[/snapback][/align]Menni szerintem fog (gondolj az 1.12345678E+30) csak a pontosság az nem tudom hogy alakul. Viszont ekkor ez már nagyon nem iskolás feladat, erre készültek a kalkulátor programok.
2004-11-16-15:12 #1981551Sziasztok!
Véleményeteket szeretném kérni abban, hogy milyen linux disztibúciót válasszunk.
Elképzelésünk van, de szeretnélek azért titeket is megkérdezni.Vagy egy kis programozó cégünk, amiben négyen dolgozunk, és
szeretnénk 2 új gépet beüzemelni, amin linux futna , fõként a C programozás végett.Tehát a cél az , hogy gyors és hatékony rendszerünk legyen,
bár több éve használunk különbözõ linux verziókat ,
igazából még sincs nagy tapasztalatunk ezen a téren, ezt szeretnénk most pótolni.Mit javasolnátok?
Debian ?
UHU ?
Redhat esetleg suse ?„ Legfõképpen ( nagyobb ) matamatikai számításokat végeznénk rajta. „
Suse-vel kapcsolatban személy szerint nincs jó tapasztalatom , bár lehet ez csak 1-2 egyedi eset miatt lehet,
hogy a megírt kód iszonyat lassan futott rajta.Segítségeteket elõre is köszönöm!
2004-11-16-15:26 #1981552Forrás alapu diszti kellene, sokat dob a teljesitményen. (Gentoo v sourcemage)
2004-11-16-17:14 #1981553Orsolya:
Ez csak egy ötlet 2 tetszõlegesen véges hosszúszágú szám összeszorzására.
(Lehet, hogy nem a leggyorsabb (biztos, hogy nem a leglassabb), viszont nincs korlát.)1. A decimális stringet, bináris stringgé kell alakítani. Erre vannak algoritmusok.
pl: 11 -> 10112. feldolgozás (bármilyen szorzást meg lehet oldani összeadásként ill forgatásént)
Lesz egy szorzandó, és egy szorzóLássuk a szorzót: (*2=egy balra forgatás, *4=két balra forgatás)
1(1) -> 1 összeadás
10(2) -> forgatás balra + 1 összeadás
11(3) -> 1 forgatás + egy összeadás
100(4) -> 2 forgatásTehát, ha a bináris string utolsó számjegye 0-nincs összeadás, ha 1, akkor van.
Ha a bináris utolsó elõtti 0 nincs 1szeres forgatás, ha 1, akkor egyszeres forgatás van.
Ha a bináris u. elõtti, elõtti szám 0, akkor nincs kétszeres forgatás…
és így tovább2004-11-17-06:57 #1981554Orsolya:
Ez csak egy ötlet 2 tetszõlegesen véges hosszúszágú szám összeszorzására.
(Lehet, hogy nem a leggyorsabb (biztos, hogy nem a leglassabb), viszont nincs korlát.)1. A decimális stringet, bináris stringgé kell alakítani. Erre vannak algoritmusok.
pl: 11 -> 10112. feldolgozás (bármilyen szorzást meg lehet oldani összeadásként ill forgatásént)
Lesz egy szorzandó, és egy szorzóLássuk a szorzót: (*2=egy balra forgatás, *4=két balra forgatás)
1(1) -> 1 összeadás
10(2) -> forgatás balra + 1 összeadás
11(3) -> 1 forgatás + egy összeadás
100(4) -> 2 forgatásTehát, ha a bináris string utolsó számjegye 0-nincs összeadás, ha 1, akkor van.
Ha a bináris utolsó elõtti 0 nincs 1szeres forgatás, ha 1, akkor egyszeres forgatás van.
Ha a bináris u. elõtti, elõtti szám 0, akkor nincs kétszeres forgatás…
és így tovább -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz