-
Fototrend
Új hozzászólás Aktív témák
-
Jester01
veterán
Igen, arra gondoltam. Talan kicsit eros volt hulyesegnek titulalni...
Valahogy igy:
sum=0
cnt=0
for x in $@
do
sum=$((sum + x))
cnt=$((cnt + 1))
done
avg=$((sum * 100 / cnt))
echo ${avg%??}.${avg: -2:2}
Meg ellenorizni kellene a 0-t, hogy szep legyen az is. Azt hiszem massal nincs bajaJester
-
Bazsesz
őstag
Ezt eddig énis tudom. Csak az a megoldási fajtája kéne, hogy ha mondjuk azt mondják, hogy ne a tab legyen, hanem az ''A'' betű, akkor mit csinálok? (mondjuk ilyen nem lesz, mert a feladatok fixek elvileg)
szal azt kéne, hogyha mondjuk azt kérné, hogy a vizsgálat után meliyk karaktereknek kéri a mutatását, egy scanf-fel elintézve egy char tipusú változóba, akkor azzal se legyek elveszve.
szal mintha mondjuk azt mondanám, ha lehetne, hogy :
if (i==''\n'') { printf(''%d'',t[ i]); }
csakhát ez így necces, mert megoldhatatlan.
strcmp-vel nem lehet, mert az i nem char tipusú, hanem int. de ha a printf-be %d helyett %c-t teszek kiírja a számnak megfelelő karaktert
Üdv: Balu
Szerkesztés: javítgatás....
[Szerkesztve]''Játék a szavakkal mintájára Dúd a betűkkel :d Előadja Bazsesz művészúr :)'' by Esmein
-
bdav
őstag
-
Bazsesz
őstag
Köszönöm, megnézem mit tudok vele alkotni. Komolyan mondom itt jövök rá, hogy mennyire nem tudok, meghogy megint pályát tévesztettem.... De hát ez van, ezt kell szeretni.
Na, írok, aztán jelentkezek
Üdv: Bazsi''Játék a szavakkal mintájára Dúd a betűkkel :d Előadja Bazsesz művészúr :)'' by Esmein
-
Forest_roby
őstag
THX!
#include <stdio.h>
#include <stdlib.h>
main(){
printf(''Irj be egy szamot!\n\n'');
int be;
char c;
scanf(''%s'',c); //beolvasod char* valtozoba
be=atoi(c); //konvertalod int-be. Kell hozza stdlib.h
.....
.....
}
hibát jelez a fordító! Valamit elrontottam?
ui.:
Igaz, ezt Windows Xp alatt próbáltam lefordítani a ''dev c++'' progival. Nem igazán ismerem, Linux alatt szoktam programozni. Lehet, hogy a progival van baj.-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Köszi minden segítséget, de nem akar működni.
Lennél oly szíves és kijavítanád a hibát?
[CODE]
#include <stdio.h>
#include <stdlib.h>
main(){
int be;
char c[4] = { 0 };
scanf(''%[0123456789]'', c);
be=atoi(c);
printf(''%d\n'',be);
}
[/CODE]
Előre is köszi!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
szerintem ezzel a dev c++ progival is van vmi gubanc. mindenesetre miután kijavítottam %s -re utánna működött. ( aztán ki is töröltem, mert nem volt rá szükségem )
ui.:
egyébként ez egy egyszerű római számmá konvertáló progi.
mod:
ha vkinek kellene:
#include <stdio.h>
#include <stdlib.h>
main(){
printf(''Irj be egy max. negyjegyu szamot!\n\n'');
int be;
char c[4] = { 0 };
scanf(''%[0123456789]'', c);
be=atoi(c);
for (be; be >= 1000; be=be-1000) {
printf(''M'');
}
for (be; be >= 900; be=be-900) {
printf(''CM'');
}
for (be; be >= 500; be=be-500) {
printf(''D'');
}
for (be; be >= 400; be=be-400) {
printf(''CD'');
}
for (be; be >= 100; be=be-100) {
printf(''C'');
}
for (be; be >= 90; be=be-90) {
printf(''XC'');
}
for (be; be >= 50; be=be-50) {
printf(''L'');
}
for (be; be >= 40; be=be-40) {
printf(''XL'');
}
for (be; be >= 10; be=be-10) {
printf(''X'');
}
for (be; be >= 9; be=be-9) {
printf(''IX'');
}
for (be; be >= 5; be=be-5) {
printf(''V'');
}
for (be; be >= 4; be=be-4) {
printf(''IV'');
}
for (be; be >= 1; be=be-1) {
printf(''I'');
}
}
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Drizzt
nagyúr
Igen, láttam azt is, C# mesteri szinten 21 nap alatt a pontos címe asszem, de gondolom az teljesen az alapokról kezd úgy, hogy nem tételez fel semmilyen más alapvető programozói tudást\tapasztalatot, vagy nem? Sok egyébként az újdonság c++hoz, vagy javahoz képest c#ban?
I am having fun staying poor.
-
Xpod
addikt
Nem elég, mert attól, hogy nem lehet gyököt vonni egy számból attól az még nem prím.
pl.: 24 nem prím, de nincs is gyöke az egész számok halmazán.
Úgy értettem amit írtam, hogy, a felnti példát alapul véve, 24/3=8 tehát elég 8-ig menni a for ciklusnak, addigra minden szóbajöhető osztó kiderül, a többi csak ezeknek a többszörösei.
[Szerkesztve]Most kezdődjék a tánc! - mondta a papagáj és berepült a ventilátorba.
-
Forest_roby
őstag
Teljes mértékben igazad van!
Így sokkal gyorsabb. ( csomo cikluslefutást megsporol )
Azt hiszem erre gondoltál:
#include <stdio.h>
/*#include <stdlib.h>*/
#include <math.h>
main(){
int a,b;
a = 2;
b = 2;
for(a=2; a <= 1000000; a++){
float x = a;
float xgyok = sqrt(x);
for(b=2; a>=b; b++){
if( (a%b) > 0 ){
if( b >= xgyok & b < (xgyok+1) ){
printf(''%d\n'', a);
break;
}
}else break;
}
}
getchar();
}-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Lehet, hogy én is hülyeséget írok ide, de innen a prímtényezős felbontás már csak 1 lépés.
1245234634567453451 ---> megnézed, hogy prím -e, ha nem megkeresed az első osztóját, elosztod és vissza az elejére....
megnézed, hogy prím -e, ha nem megkeresed az második osz.........
....
....
és a végére megvan a prímtényezős felbontás. ( meg is csinálom )
\bár ezt csak a gyökös módszerrel lehet csinálni, a szita nem erre jó\
Sztem az RSA nak az a titka, hogy gigantikusan nagy prímeket használnak ( és vagy azok szorzatát ). Persze ezt úgy kell elképzelni, hogy a számjegyek száma milliós nagyságrendű. A long long int elbújhat mellette. : )-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Az 1024-2048 bit egy kicsit tul nagy. Kitüztem magam elé egy kisebb célt. Megpróbálom a primtényezőire felbontani ezt a számot:
62484751362947029755811 (23bit )
--\ de majd otthon \--
--\\ valszeg nem fog sikerülni, ha nem feltételezem, hogy nem prím \\---=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
-
Forest_roby
őstag
nagyon remélem, de nem vagyok benne biztos azért kérdeztem meg itt! -érdekes, mert akkor ax értéke elveszik, de bizzunk benne hogy így jó lesz!
mod: NEM, sub ax,bx -nél ax -ben nem bx-ax lesz????
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
nem tudom hogy kell kipróbálni! még nem írtam működő assembly progit és így - még nem is fordítottam.....
Csak durván, kb jól működőre kell megírnunk a progit papíron. Nekem most a legnagyobb közös osztó megkeresése volt a feladat.... Sztem kész. Beírjam? Leellenőrzöd?-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
okay!
Elég rövidke lett, lehet kifelejtettem vmit -nem tom, nekem jónak tűnik!
ax = pozitív szám
bx = pozitív szám
osszehasonlitas:
cmp bx,ax
jnb tovabb
xchg bx,ax
tovabb:
cmp bx,ax
je vege ;if equal jump vege else 'ez köv most:'
sub ax,bx ; ax -ba belekerül ax-bx értéke, bx marad, ezzel megvan a 2db kisebb szám is
jump osszehasonlitas ;ugrás az összehasonlítás részhez
vege:
end
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Tottu
senior tag
Ezt kifejtenéd egy kicsit bővebben? Az órán nem nagyon foglalkoztunk még filekezeléssel, csak annyit hogy milyen függvényeket kell használni, könyvem meg még nincs
"A legnagyobb hiba, amit az életben elkövethetsz, az a folyamatos rettegés attól, hogy hibázni fogsz.“ - Elbert Hubbard
-
Tottu
senior tag
-
Tottu
senior tag
Sikerült mindegyik problémát megoldani kaptam is 2 pontot rá a 10ből!
A lényeg: ugye max 100 számjegyű lehet a (előjeles) szám és egy fileból kell beolvasni. Előszőr is a file beolvasás utána át kellett konvertálni a karakter számmá hogy számolni tudjak vele. Ezt követően beállítottam a szám előjelét (tömb 0. indexéhez írtam egy ' + ' vagy ' - '). Jött a jombra igazítás (ez lehet fölösleges volt tényleg, mert az említet strlen () függvénnyel meglehetett volna oldani, de én a ''papíros'' módszernél maradtam. Azaz jobbra kell igazítani a számokat és úgy összeadni ill. kivonni egymásból). Ha a rendezés előjel meg van jött a művelet eldöntése amit lehet variálni rendedessen (szam1 pl.: - ; szam2: - ; és a művlet is - akkor összeadás kell, és az eredménynél is történhet előjel változás, amikor a szam1 kisebb mint a szam2, stb...)"A legnagyobb hiba, amit az életben elkövethetsz, az a folyamatos rettegés attól, hogy hibázni fogsz.“ - Elbert Hubbard
-
Jester01
veterán
persze elotte megnezi, hogy egyenlo-e a hosszuk
... ami annyira nem persze, mivel c-ben nem éri meg 2x végignézni a stringet szerintem.
MOD: meg a glibc írói szerint sem
__STRING_INLINE int
strcmp (__const char *__s1, __const char *__s2)
{
register unsigned long int __d0, __d1;
register int __res;
__asm__ __volatile__
(''cld\n''
''1:\n\t''
''lodsb\n\t''
''scasb\n\t''
''jne 2f\n\t''
''testb %%al,%%al\n\t''
''jne 1b\n\t''
''xorl %%eax,%%eax\n\t''
''jmp 3f\n''
''2:\n\t''
''sbbl %%eax,%%eax\n\t''
''orb $1,%%al\n''
''3:''
: ''=a'' (__res), ''=&S'' (__d0), ''=&D'' (__d1)
: ''1'' (__s1), ''2'' (__s2)
: ''cc'');
return __res;
}
[Szerkesztve]Jester
-
Tottu
senior tag
Működk az csak nem 100%-os. Eddig azzal (is) voltak gondok hogy a műveletijel össze vissza változhat és az nem működött rendessen, de azt kijavítottam és így kaptam 2 pontot. Tudtommal egy hiba van még, mégpedig abban az esetben amikor a művelet elvégzése után meg változik az előjel. Ekkor vmi naon cifra szám jön ki (az előjel az jó) Már többször végig próbáltam papíron is, de nem tudtam rájönni mi lehet a gond. De majd ha lesz még időm akkor leülök elé és próbálkozom.
"A legnagyobb hiba, amit az életben elkövethetsz, az a folyamatos rettegés attól, hogy hibázni fogsz.“ - Elbert Hubbard
-
Tottu
senior tag
Pont így csináltam, nem tudom mennyire érdekel téged, de majd kicsit átrendezem a forrást és átküldöm. Ahogy megcsináltam a problémás részt, szerintem jónak kell lennie, de vmiért mégsem jó
"A legnagyobb hiba, amit az életben elkövethetsz, az a folyamatos rettegés attól, hogy hibázni fogsz.“ - Elbert Hubbard
-
-
ALI_G
veterán
igen, de nem tudom hogyan tudnám hasznosítani, mivel char-nak deklarálva a dolog.
bemásolom, így lehet világosabb lesz:
char puffer[5];
int K2, kuka, i=0, j=0, n2=0, csomiszam, K2osszeg=0;
K2=K*2
if (puffer!='' '')
fscanf(be, ''%c'',&puffer);
else MaxTeher = atoi(puffer);
if (puffer!='' '')
fscanf(be, ''%c'',&puffer);
else csomiszam = atoi(puffer);
fscanf(be,''\n'',kuka);
for(i=1; i<=csomiszam; i++){
if(puffer!='' '')
fscanf(be, ''%c'', &puffer);
else {
fscanf(be, '' '',kuka);
s[j]=atoi(puffer);
j++;
}
}
Amint látható a puffer-t kellene kiüríteni, hogy tudjak tovább olvasni a fájlból, amiben számok vannak szóközzel elválasztva, 1-4 jegyűek. A számokat akarom tömbben eltárolni.
Kicsit gány megoldás, de hirtelen ez jutott eszembe ami számomra egyszerűnek tűnt.
C++ ban nincs erre parancs/beépített fv mindg PHP-ban (meg talán JAVA-ban is van)
amúgy az miért van, hogy a kód-ba rakott cuccból is kiveszi a sor eleji szóközöket? Régen nem így volt.
[Szerkesztve] -
focker
csendes tag
Na igen, kissé kacifántos voltam. Láttam a hasonló kérdést, a feladat ugyanaz egyébként, csak választ nem kapott az illető. Nekem csak annyi kellene, hogy a fájlból beolvassa az összes ilyen
>2
ABCGDJGIT...
szekvenciát, és megszámolja, hogy az 1-es és 2-es külön-külön hány darab A betűt, hány darab B betűt..., tartalmaz. Tehát mondjuk egy szekvencia1[] tömbbe tároljuk 0-25 indexig, hogy az egyes betűkből mennyi fordul elő az összes 1-es szekvenciában (ugyanígy szekvencia2[]). Utána ezekkel a tömbökkel kellene dolgozni, ami már menne, csak a beolvasás nem Az a baj,h már csak konkrét kód tud rajtam segíteni, mert szorít az idő. -
focker
csendes tag
Most már csak egy a gond, ugyanezt megcsinálom egy tesztre is, így
while (in.available() !=0) {
String input = in.readLine();
if (input.equals('''')) continue;
else if (input.equals(''>'')){
teszt=0;
darab++;
}
else {
for (int i=0;i<input.length();i++)
betukteszt[teszt][input.charAt(i)-'A'++;
}
for(int i=0; i<26; i++){
atlagteszt=betuk[0]/darab;
}
for (int i=0;i<26;i++){
if (atlagteszt==0) continue;
if (atlag1!=0)
T1db_1*=(atlag1<atlagteszt)?atlag1/atlagteszt:atlagteszt/atlag1;
if (atlag2!=0)
T2db_1*=(atlag2<atlagteszt)?atlag2/atlagteszt:atlagteszt/atlag2;
}
atlagteszt = new int[26];
Eredmeny.write((T1db_1>T2db_1)?''1'':''2'');
Eredmeny.newLine();
Eredmeny.flush();
és az Eredmeny file-ba kb. 7x annyi 1-es vagy 2-es kerül. Miért szalad ennyivel túl?
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!