-
IT café
Új hozzászólás Aktív témák
-
Forest_roby
őstag
Hi!
script kellene, ami kiírja az első 1024 db prímszámot.
bár ez nem fontos, akármilyen megoldásnak örülök:
a programnyelv: While
a lényeg az, hogy nem lehet függvényeket használni:
összeadás, kivonás, szorzás osztás, relációk, ciklusok stb. lehet használni (még asszem hatványt is)
(elvileg nem haszálhatok függvényt, ami eldönti, hogy a kapott változó egész szám -e vagy tört)
Ebben tudnátok segíteni?
Előre is kösz
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #855 üzenetére
up
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #855 üzenetére
up
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
hi!
Windows alatt is szeretném beállítani magamnak a c programozáshoz szükséges cuccokat. Persze mi mással mint a c fordítóval van bajom. Letöltöttem vmi cygwin nevezetü dolgot, azt írták a neten, hogy tartalmazza a gcc -t de egyszerüen nem sikerül használni. Azt írja ki a gcc parancsra, hogy command not found, persze nem találja a gcc-t, de akkor mit tehetek? vmi ötlet? másik progi?
(a borland c++ nem érdekel)
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
hi!
c nyelven irott alap progi:
#include <stdio.h>
#include <math.h>
int main(){
double x = 1;
for(x = 1; x<=10 ; x++){
printf(''%d\n'',sqrt(x));
}
}
forditas:
gcc -lm gyokx.c -o gyokx
gyok1, gyok2 ..... gyok10 -et akartam kiiratni, de vmi badarsagot irt ki.
A kerdes az, hogy mi a hiba? Valszeg az sqrt -t rosszul hasznalom, de hogy kell helyessen hasznalni?
Elore is koszi a segitsegeket!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #1544 üzenetére
megvan a hiba
%d helyett %f -et kellett volna irnom-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Pitiáner probléma, de ..... Na mindegy.
C# nyelv.
Hogy lehet szabvány bemenetről (billentyűzetről) egy változóba betőlteni egy számot?
( != '\n' )
Én a getchar -al próbálkoztam, de azzal nem mentem semmire.... Fileból persze sikerűlt, de simán bill.-ről nem.
szóval ez lenne a kérdés!
Előre is köszi a segítséget!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #1781 üzenetére
up
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Tiszta hülye vagyok!
Nem tudom biztosan, hogy van -e külön ilyen prog nyelv ( C# ), de ha igen, akkor pontosítok.
nyelv: C
//és nem C++//
Fisha:
ez nem jó nekem, bocs én rontottam el a kérdést!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
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
-
Forest_roby
őstag
Igazából ezt is vártam. Biztos voltam benne, hogy vki fog ide írni egy sokkal jobb, frappánsabb megoldást. Igaz, ami igaz, a te megoldásod rövidebb. Én is gondolkoztam rajta, hogy tudnám kiváltani a sok for-t eggyel, de nem jöttem rá. Gondoltam rá, hogy egy ciklussal, mint ahogy te is, de ......., nem tudom a ''szamok[]'' -at (1000, 900, 500, ....) ill. a ''jelek[]'' -et (M,CM,D,....) hogy hozom be a képbe, hogy minden ciklusban más és más szerepeljen. Igazából én még nem is láttam ilyen fajta gondolkodású megoldást. Egyszerű és mégis zseniális. Tetszik, ezt megjegyzem magamnak.
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
reklamál a fordító!
van olyan változótípus, hogy string?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(){
printf(''Irj be egy max. negyjegyu szamot!\n\n'');
int be;
char c[4] = { 0 };
scanf(''%[0123456789]'', c);
be=atoi(c);
int i;
int szamok[250]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
string jelek[250]={''M'',''CM'',''D'',''CD'',''C'',''XC'',''L'',''XL'',''X'',''IX'',''V'',''IV'',''I''};
for (i=0;i<13;i++){
while (be>szamok[ i ]){
printf(''%s'',jelek[ i ]);
be=be-szamok[ i ];
}
}
}
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
hi!
Van egy nem tul kifinomult, de működő progim primek kiszámolására. Gondoltam gyorsítok rajta egy kicsit, de ellenkező hatást értem el. Minnél nagyobb a prim annál több ciklust spórol meg az uj progi, de mégis egyre lasabb lesz. Mi ennek az oka?
első változat:
#include <stdio.h>
main(){
int a,b;
a = 2;
b = 2;
for(a=2; a <= 100000; a++){
for(b=2; a>=b;b++){
if ( (a%b) > 0) {
if (b==(a/2)) printf(''%d\n'',a);
}
else break;
}
}
getchar();
}
második változat:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main(){
int a,b;
a = 2;
b = 2;
for(a=2; a <= 1000; a++){
float x = a;
for(b=2; a>=b; b++){
if( (a%b) > 0 ){
if( b >= sqrt(x) & b < (sqrt(x)+1) ) printf(''%d\n'', a);
}else break;
}
}
getchar();
}
ui.: biztos sok helyen máshogy is meglehetett volna írni a progit és még sokat is fogok rajta változtatni, de akkor se értem mért lett olyan lassú!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #1812 üzenetére
ok, észrevettem egy nagy hibát!
a belső ciklusban számolja ki az x gyökét, feleslegesen sokszor, mikor elég lenne egyszer is.
ez lényegesen lassít a dolgon.
ui.: hülye vagyok-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Érdekel!
Xpod:
egy számot a gyökéig kell vizsgálni, egy szám legnagyobb 'prím' osztója nem lehet nagyobb mint a szám gyöke, ha a gyökéig nem találsz osztót, akkor prím!
pl: 35. gyöke 5.91. Bár 5,91-nél is van nagyobb prím osztója, 7, de már előtte el tudtuk osztani 5-el. ---> köv.: 35 nem prím
pl2: 37. gyöke: 6,08. 6,08-nál kisebb prímek: 2,3,5 --> egyikkel se osztható, tehát prím!
( azért fontos, hogy az osztó prím legyen, mert ha nem prím, akkor felbontható prímekre és találunk kisebb osztót is! )
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #1820 üzenetére
''.... egy szám legnagyobb 'prím' osztója nem lehet nagyobb mint....''
javítás:
''.... egy szám legelső 'prím' osztója nem lehet nagyobb mint....''-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
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
Látom lassú volta.
Én is megcsináltam, ma fél 1 -kor fejeztem be.
forrás:
#include <stdio.h>
/*#include <stdlib.h>*/
/*#include <math.h>*/
main(){
int n;
int k;
int lepteto;
int tomb[ 100000 ];
for(n=0;n<(sizeof(tomb)/sizeof(int));n++){
tomb[ n ] = n + 2;
}/* Tomb feltoltese! */
for(n=0;n<((sizeof(tomb)/sizeof(int))/2);n++){
lepteto = tomb[ n ];
k=n;
for(k; tomb[ n ] != 0 & (k+lepteto)<=(sizeof(tomb)/sizeof(int)); k=k+lepteto){
tomb[ k+lepteto ] = 0;
}
}/* kinullazas! Elég a tomb feleig. */
for(n=0;n<(sizeof(tomb)/sizeof(int));n++){
if( tomb[ n ] != 0 ){
printf(''%d\n'',tomb[ n ]);
}
}/* kiiratas! */
getchar();
}-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Bár már nekem is megvan, azért köszi! Tényleg jó ötlet volt.
ui.: a szitában feleslegesen sokszor nullázol ki számokat ( már ha jól értem a progidat ). Elég a tomb feléig keresni a primeket és a többszörökűket kinullázni mert akkor már biztos, hogy a megmaradt számok a tombben primek.-=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
Hi!
A fentiekben írt prímes progit most próbáltam lefordítani Linux alatt és ezt a hibaüzenetet írta ki:
forest@forest-gep:~/Desktop/programok_modositott/prim$ gcc prim.c
/tmp/ccobEY1w.o: In function `main':
prim.c.text+0x63): undefined reference to `sqrt'
collect2: ld returned 1 exit status
Nem tudjátok mi lehet a baj? A math.h include -olva van.-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #1856 üzenetére
okay
hülye vagyok! : (
fordítás: gcc -lm prog.c-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
megint én!
nem tudok 2147483647 -nél nagyobb változót létrehozni.
forrás:
#include <stdio.h>
#include <limits.h>
/*#include <math.h>*/
int main(){
long int a;
printf(''long int max.: %11d\n'', LONG_MAX);
printf(''long long int max.: %11d\n'', LLONG_MAX);
a = 2147483647;
}
fordítás:
forest@forest-gep:~/prohardver$ gcc kerdes.c -std=c99
forest@forest-gep:~/prohardver$ ./a.out
long int max.: 2147483647
long long int max.: -1
forest@forest-gep:~/prohardver$
ha az 'a' értékét növelem átugrik negatívba, vagy hibás értékeket ad ki vagy le se lehet fordítani.
Persze ha az 'a'-t long long int -re változtatom az se segít.
Hogy tudok nagyobb változót létrehozni/használni/lefordítani ?
Előre is köszi minden segítséget!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Először is köszi a segítséget!
-------------------------------------------
további kérdések:
A long long int ( 8 bit ) már jó lenne, de nem tudom használni. Miért?
ill.
Ha nem lehet, hát jó! Hol tudok erről: ''(string-ben tárolod a számokat, megírod rá a műveleteket vagy operátorokat (c++), satöbbi)'' többet olvasni, tájékozódni?-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
egyébként meg milyen feladat az, amelyiknek nem elég a long?
Végre volt időm és megcsináltam azt a progit, amelyik príményezőire bontja a számokat. A gond az, hogy a ''23 jegyű rettenetes kolbász'' tul nagy neki. Persz beérném 8 bittel is.-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
szerintem van olyan, hogy 'long long int'!
#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
int main(){
printf(''long long int %d bit\n'', sizeof(long long int) );
}
fordítás:
forest@forest-gep:~/prohardver$ ./a.out
long long int 8 bit
forest@forest-gep:~/prohardver$
próbáld ki!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Bocs a sok egymás utáni hozászólások miatt, de már egyiknél se tudtam módosítani a régit!
Javítanom kell!
#1860 #1863 #1864 --->
mindenhol a bit helyet bájt-ot kellett volna írnom!
8 bájt-ot vagy 64 bit-et
tiszta égés!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
program fordítás közben ezt a hibát kaptam:
[link] --> ( nem talál make filet, pedig kellene lennie )
A program egy glade projekt.
op.: Ubuntu linux
Tud vki segíteni?
ui.:
A Nagy Linux topicba is belinkelem ezt a kérdést, hátha ott talán jobban tudják!
ui2.:
én írtam:
./autogen.sh
./configure
make ---> itt a hiba!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #1904 üzenetére
No, megnéztem a synaptic-ban a dolgokat!
gtk2 ..... -ból rengeteg dolog van telepítve a gépre. A make tényleg hiányzott neki, azt feltettem, de még mindig nem jó vmi!
hibaüzenet, az elöbbi helyen!
Ránéznél?-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #1907 üzenetére
config.log részletek:
configure:3986: checking for PACKAGE
configure:3991: $PKG_CONFIG --exists --print-errors ''$pkg_modules''
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
configure:3994: $? = 1
configure:4005: $PKG_CONFIG --exists --print-errors ''$pkg_modules''
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
configure:4008: $? = 1
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
configure:4029: error: Package requirements (gtk+-2.0 >= 2.0.0) were not met.
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
&
forest@forest-gep:~/Projektek/first$ sudo apt-get install gtk+-2.0
Password:
Csomaglisták olvasása... Kész
Függőségi fa építése... Kész
E: Nem található a(z) gtk+-2.0 csomag
forest@forest-gep:~/Projektek/first$
HELP!
mod.:
config.log megtekinthető az elöző helyen!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!