i 2. neznam... 1. sam skonto na kraju al 2. hmm?
Programiranje u C-u - od svega pomalo
- poruka: 1.661
- |
- čitano: 388.876
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
ajde pls jakooo malo imam vremena..
Promijeni uvjet, treba li poslijednji broj biti ukljucen ili ide do njega? Ako treba biti onda stavis while(n<=broj) i stvar rijesena
While petlja:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int broj, n=1, zbroj=0;
scanf("%d", &broj);
while (n<broj)
{
zbroj+=n;
printf("%d\n", n);
n+=4;
}
printf("Zbroj: %d\n", zbroj);
system("pause");
return 0;
}
For petlja:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int broj, n=1, zbroj=0;
scanf("%d", &broj);
for (n=1; n<broj; n+=4)
{
zbroj+=n;
printf("%d\n", n);
}
printf("Zbroj: %d\n", zbroj);
system("pause");
return 0;
}
Ostaje samo pitanje pocetnog broja, dali ides od nule ili od jedinice
Koliko sam shvatio zadatak mislim da treba u while petlji biti uvjet "while(n!=broj)" jer korisnik unosi sve brojeve koji su različiti od broja kojeg je uneso na početku,a ne manji!
Ne zadatak kaze da zbraja sve brojeve do broja kojeg je korisnik upisao. Dakle pretpostavlja se da se pocinje od jedinice. Sad kad si to rekao shvatio sam da mi je drugi zadatak nepotpun, treba u petlju dodati jos i printf koji ispisuje brojeve.
A da tek sam sad skužio.
rustweaver hvla puuno, danas bilo zaključivanje ocijena, i to 2 sata na preskokce ne u bloku, pa nisam imo vremena razmišljat....hvala, hvala, i još jednom hvala :)
Pozdrav svima!
Može li netko molim vas nać grešku u ovom kodu?
HVALA!
#include <cstdio>
#include <cstring>
int main () {
char r1[10];
char r2[10];
char r3[10];
char r4[10];
char r5[10];
char tipka[10];
scanf ("%s %s %s %s %s",r1,r2,r3,r4,r5);
if (r4="#...#") puts (tipka, "KVADRAT");
printf ("%s",tipka);
return 0;
}
Nemoj za stringove koristit scanf nego gets(); , radi razmaka jer ako zadaš razmak prestaće ušitavanje tog znakovnog polja i preći na drugi.
Tako kaže Željko Kovačević u svojoj knjizi C++ Analiza i Primjena.
Ispravite ako griješim.
Nemoj za stringove koristit scanf nego gets(); , radi razmaka jer ako zadaš razmak prestaće ušitavanje tog znakovnog polja i preći na drugi.
Tako kaže Željko Kovačević u svojoj knjizi C++ Analiza i Primjena.
Ispravite ako griješim.
Ako se unose znakovni nizovi koji trebaju sadržavati razmake onda je jednostavnije koristiti gets. No sve se može i pomoću scanf, iako, malo kompliciranije za početnika.
Željko Kovačević
Ako se unose znakovni nizovi koji trebaju sadržavati razmake onda je jednostavnije koristiti gets. No sve se može i pomoću scanf, iako, malo kompliciranije za početnika.
Željko Kovačević
Ček ček, to citiraš sebe iz knjige ili si se samo potpisao čovjeku kako bi znao da si to ti?
Samo pokušavam iz prve ruke (zato potpis) detaljnije pojasniti kolegi da ne bi bilo nesporazuma .
Bok svima!
Imam problem s jednim zadatkom na z-treningu.
http://z-trening.com/tasks.php?show_task=5000000474
Ako nemožete vidjeti:
Ja sam to pokušao riješiti ovako:
A greške su:
/0/zi.c: In function ‘main’:
/0/zi.c:14: error: ‘for’ loop initial declaration used outside C99 mode
/0/zi.c:15: warning: comparison between pointer and integer
/0/zi.c:18: warning: comparison between pointer and integer
/0/zi.c:19: warning: assignment makes integer from pointer without a cast
/0/zi.c:11: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
/0/zi.c:12: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
/0/zi.c: At top level:
/0/zi.c:23: error: expected identifier or ‘(’ before ‘for’
/0/zi.c:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
/0/zi.c:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘++’ token
/0/zi.c:27: error: expected identifier or ‘(’ before ‘return’
/0/zi.c:28: error: expected identifier or ‘(’ before ‘}’ token
Any ideas?
Fali ti viticasta zagrada "{" poslije drugog if-a unutar prve for petlje
Takoder bolje je u ovom slucaju umjesto drugog if-a koristiti else if da ti se ne izvrsi svaki put provjera nego
samo ako nije 'x'. Takoder, ne trebas 3 polja, mozes samo mijenjati znak 'x' iz maske za broj.
if(x[i] == 'x')
x[i]=y[i];
Zaboravljas da ces preskociti jedan broj kada ti je x[i] == '-'
tako da trebas unutar/nakon tog drugog if-a zapisati broj na mjesto i+1 unutar drugog polja
te i dalje zapisivati tako. Ako samo mijenjas 'x'-eve za brojeve unutar tog polja nemas taj problem.
P.S Ovaj Kod stil je zivo sranje jer se nesto posemerilo pa sad moram ovako pisati lol
Bok!
Recimo da radim program koji kopira neku datoteku s jednog mjesta na drugo.
Kako dobiti da se prikazuje onaj postotak kopiranja?
Znači koliko se kopiralo i koliko jos ostaje i koliko jos ostaje vremena?
Hvala!
EDIT: možda win32.api ?
Ovako nekako bi se moglo u C-u:
#include <stdio.h>
void kopiraj(char* izvor, char* odrediste){
FILE *fu, *fi;
char pom;
long vel, i;
if((fu = fopen(izvor, "rb"))==NULL){
printf("Nije moguce otvoriti izvornu datoteku!\n");
return;
}
if((fi = fopen(odrediste, "wb"))==NULL){
printf("Nije moguce otvoriti izvornu datoteku!\n");
return;
}
fseek(fu, 0L, SEEK_END);
vel = (double)ftell(fu);
rewind(fu);
for(i = 1; i <= vel; i++){
fread(&pom, sizeof(char), 1, fu);
fwrite(&pom, sizeof(char), 1, fi);
system("cls"); // windows
// system("clear"); // linux
printf("Kopiram... %.2f%%\n", (float)i/vel*100);
}
fclose(fu);
fclose(fi);
}
int main()
{
kopiraj("c:\\test.txt", "c:\\kopija.txt");
return 0;
}
Ovo je poprilično spora varijanta jer kopira datoteku byte po byte, no daje "shematski prikaz" kako bi to išlo. Zato isprobaj na nekoj manjoj datoteci od par kb. Ili, preuredi funkciju tako da čita i piše blokove od par stotina kb ili više da bude brže.
A kod WINAPI-ja je to vrlo jednostavno izvedeno pomoću CopyProgressRoutine funkcije.
Eto, konačno sam odlučio što ću raditi :)
Game engine za TXT igre.
Prvo što mi treba je tekst koji se tipka sam.
Znači prvo piše:
H:
pa zatim:
He
tad:
Hel
etc.
Znači sve u istom redu.
Ima li tko ideju kako da ovo uspijem?
Hvala!
Ti si bas zapeo za taj text mod, a nije vise bas jednostavno raditi takve efekte u njemu. PDcurses je ono sto ti treba.
Ako te zanima pod windows platformom onda mozes koristiti console API:
http://msdn.microsoft.com/en-us/library/ms682073%28v=VS.85%29.aspx
Kad neznam radit s OpenGLom, a ni ne treba mi :D
Da trebam za Windows platformu...
Hvala!
EDIT: Damn you rustweaver, sad želim učiti OpenGL...
Bok svima.
Našao sam neku knjigu za programiranje na ORAO računalo, ali na svakoj strani je jedna slika iz knjige, pa sam napisao program koji bi mi trebao otići na svaku stranicu i skinuti svaki sliku automatski, što mi je možda 100x brže nego da ja to radim ručno.
Uglavnom evo programa:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char buffer[300];
for (int i=0; i<115; i++)
{
sprintf(buffer, "wget http://retrospec.sgn.net/users/tomcat/yu/magshow.php?auto=&page=%d&all=Knjige_Orao", i);
system (buffer);
}
return 0;
}
E sad, kad to pokrenem stalno mi baca grešku u terminalu ERROR 403: Forbidden.
Zanima me, je li to greška u kodu ili pak nečemu drugome?
Hvala!
Neznam što bi mogao biti problem, ali znam da u C-u nemožeš deklarirati varijablu pri ulasku u petlju, to moraš učiniti u funkciji main.
Bok svima.
Našao sam neku knjigu za programiranje na ORAO računalo, ali na svakoj strani je jedna slika iz knjige, pa sam napisao program koji bi mi trebao otići na svaku stranicu i skinuti svaki sliku automatski, što mi je možda 100x brže nego da ja to radim ručno.
Uglavnom evo programa:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char buffer[300];
for (int i=0; i<115; i++)
{
sprintf(buffer, "wget http://retrospec.sgn.net/users/tomcat/yu/magshow.php?auto=&page=%d&all=Knjige_Orao", i);
system (buffer);
}
return 0;
}
E sad, kad to pokrenem stalno mi baca grešku u terminalu ERROR 403: Forbidden.
Zanima me, je li to greška u kodu ili pak nečemu drugome?
Hvala!
Krivi ti je link, takoder slike imaju naziv npr. orao_001.jpg tako da ne mozes samo napisati 1
Neznam napamet s wget ali ako imas cURL ( sudo apt-get install curl )
curl http://pc.sux.org/SK/Knjige/Orao/Orao_[001-114].jpg -O
ce ti skinuti sve slike.
@drnde
Nije samo jedan, povećava se svaki puta.
A ovo s curl je pomoglo, hvala.
Prije ti je greška u terminalu ili neki problem s WGET-om. Zašto si jednostavno umjesto pozivanja naredbe system, sve te nazive stranica ne zapišeš u jednu .bat datoteku i onda pokreneš tu bat.datoteku (ne nužno iz programa)?
Prije ti je greška u terminalu ili neki problem s WGET-om. Zašto si jednostavno umjesto pozivanja naredbe system, sve te nazive stranica ne zapišeš u jednu .bat datoteku i onda pokreneš tu bat.datoteku (ne nužno iz programa)?
U wgetu je bio problem da.
Ali ovo je dobra ideja, iako sam rješio već idem probam ovo.
Hvala.
Malo sam se zainteresirao da to pročitam, pa sam napravio taj program u C#
To je konzolni program koji mapu Orao smješta na Desktop sa svih 115 slika.
Može se skinuti ovdje:
http://www.box.net/shared/do3hj8ttmx184deyn2qr
Sve što treba za pokrenuti ga je imati instaliran .Net Framework 2
Ako kom treba source, stavim ga.
Evo stigla mi knjiga za programiranje u C-u...jedva čekam krenuti
Edit: U knjizi kažu da je preporučeno da koristim Borland Turbo C (ver. 2.0) IDE, i ja sam tražio i našao sam Turbo C 3.0 ali je očito neki virusić bio pa nisam instalirao. Možete li mi na p.p. (ili ovdje ako daju admini) poslati link gdje bih mogao skinuti Borland Turbo C ver. 2.0. Hvala unaprijed!
Kakav Borland C, okani se toga, uzmi neki C++ IDE i kad kreiraš fajl kreiraj .c .
Code::Blocks
Dev-Cpp
Svaki C++ IDE podržava i C.
Evo stigla mi knjiga za programiranje u C-u...jedva čekam krenuti
Edit: U knjizi kažu da je preporučeno da koristim Borland Turbo C (ver. 2.0) IDE, i ja sam tražio i našao sam Turbo C 3.0 ali je očito neki virusić bio pa nisam instalirao. Možete li mi na p.p. (ili ovdje ako daju admini) poslati link gdje bih mogao skinuti Borland Turbo C ver. 2.0. Hvala unaprijed!
Danas imaš mnogo boljih alternativa. MS VC++ Express, ili možda najbolje CodeBlocks. Dev C++ baš i ne bih preporučio, ali mislim da je već bilo i dosta rasprava na tu temu.
Da Dev-C++ se nije nadogradio još od 2005 (nisa siguran). Pošto sam školarac imam pravo na besplatni MV C++, ali nisam siguran dali tu mogu normalno (neometano) programirati u C-u?
Za sada sam si skinio Code::Blocks, ali ako se u MV C++ može pisati i C odmah prelazim na to.
MSVC++ omogućava nesmetano programiranje u C-u, ali je malo kompleksan za početnika, ali što da ne?, naravno odličan je IDE.
Code::Blocks je malo "jednostavniji" što se tiče "manjih" programčića, ali i malo kompleksniji programi se rade u Code:Blocks-u.
Dev-C++, nije po meni loš, nekoristim ga, ali prema njemu imam nostalgiju 3 godine ;), to mi je bio prvi IDE.
@Tracer, i previše rasprave oko Dev-a...
Eh da, u Code::Blocks mi neće kompajlat jer mi kao nije dobar compiler...imam ih više ponuđeni a prvi mi je, naravno, zadani i nisam postavke nikako mjenjao i kaže da uzmem neki drugi compiler. To sam učinio i opet mi nekakav error izbaci.
Ma skinuti ću ja sebi MV Proffesional (verzija za školarca) i krenuti sa time i ostati na tome, jer sam čuo i pročitao da je odličan IDE.