Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 01.05.05 Príspevky: 13419 Témy: 1494 | 1494 Bydlisko: Bratislava |
Robil som si vo svojom skolskom konte poriadok a nechcel som len tak zmazat par programov co som tam mal, tak ich dam sem, mozno niekomu nejaky pomoze
cisla min max postupnost.cpp
Kód: #include <stdio.h>
int main() { int a, i, prvecislo, opak; float sumk, sumz; printf("Zadaj cisla:"); i = 0; sumk = 0; sumz = 0; opak = 0;
scanf("%i", &prvecislo); while (a != 0) { scanf("%i", &a); if (a > 0) sumk = sumk + 1; if (a < 0) sumz = sumz + 1; if (a == prvecislo) opak = opak + 1;
i = i + 1; }
if (prvecislo > 0) printf("Pomer poctu kladnych a zapornych cisel: %.2f\n", (sumk+1) / sumz); if (prvecislo < 0) printf("Pomer poctu kladnych a zapornych cisel: %.2f\n", sumk / (sumz+1)); printf("Prve cislo sa opakuje: %i krat\n", opak+1); printf("Za sebou nasleduju dve rovnake cisla: krat\n"); printf("Najdlhsia dlzka podpostupnosti opakovanych cisel: \n");
return 0; } cisla min max.cpp Kód: #include <stdio.h>
int main() { int a, i, n, sum, min, max; printf("Zadaj pocet cisel: "); scanf("%i", &n); printf("Zadaj %i cisla: ", n); sum = 0;
for (i = 0; i < n; i++) { scanf("%i", &a); sum = sum + a; if (a < min) min = a; if (a > max) max = a;
}
printf("Priemer: %.2f\n", sum/(float) n); printf("Minimum: %.i\n", min); printf("Maximum: %.i\n", max); return 0; } databaza.cpp Kód: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h>
typedef struct { char priezvisko[30] ; char meno[30]; char cislo[30]; char vek[30]; } DB;
DB zoznam[20];
int max;
void odoberanie(); int hladanie(int *x); int vlozenie (DB novy); void change(int a,int b); void usporiadaj(void); void vypis(void); void editovanie(void); void uloz(void);
void main() { DB novy; char c='0'; FILE *vstup; if ((vstup=fopen("databaza.txt","rt")) == NULL) { printf("Subor databaza.txt sa neda otvorit\n"); exit(1); } max=0; while(feof(vstup)==NULL) { fscanf(vstup,"%s",novy.priezvisko); fscanf(vstup,"%s",novy.meno); fscanf(vstup,"%s",novy.cislo); fscanf(vstup,"%s",novy.vek); if (vlozenie(novy)==0) printf("\n Prilis vela poloziek"); } max--; while (c!='q') { system("CLS"); printf (" Menu \n"); printf ("============================== \n"); printf ("(e): editovanie zoznamu \n"); printf ("(u): usporiadanie (podla veku) \n"); printf ("(v): vypis zoznamu \n"); printf ("(s): ulozenie do suboru \n\n"); printf ("(q): koniec \n\n"); switch (c=getch()) { case 'e': editovanie();break; case 'u': usporiadaj(); break; case 'v': vypis(); break; case 's': uloz(); break; case 'q': break; default : continue; } } }
int vlozenie (DB novy) { if (max==20) return(0); zoznam[max]=novy; max++; return(1); }
void change(int a,int b) { DB pom; pom=zoznam[a]; zoznam[a]=zoznam[b]; zoznam[b]=pom; }
void usporiadaj(void) { int i,i1=0,ii; for (ii=0;ii<max;ii++) { i1=ii; for (i=ii+1;i<max;i++) { if (strcmp(zoznam[i1].vek,zoznam[i].vek)>0) i1=i; } if (i1!=ii) change(i1,ii); } }
void vypis(void) { int i; system("CLS"); printf("Aktualny stav v zoznmu\n"); printf("POLOZKA PRIEZVISKO MENO TEL.CISLO VEK\n\n"); for (i=0;i<max;i++) { printf("%d",i+1); printf("%19s", zoznam[i].priezvisko); printf("%13s", zoznam[i].meno); printf("%19s", zoznam[i].cislo); printf("%12s\n", zoznam[i].vek); } getch(); }
void editovanie(void) { DB novy; char c='0'; int i; char priezvisko; while (c!='x') { system("CLS"); printf (" Editovanie \n"); printf ("============================== \n"); printf ("(p): pridanie kontaktu \n"); printf ("(o): odobratie kontaktu \n\n"); printf ("(x): navrat do hlavneho menu \n\n"); switch (c=getch()) { case 'p': printf("Zadaj priezvisko: "); scanf("%s",novy.priezvisko ); printf("Zadaj meno: "); scanf("%s",novy.meno); printf("Zadaj cislo: "); scanf("%s",novy.cislo); printf("Zadaj vek: "); scanf("%s",novy.vek); if (vlozenie(novy)==0) printf("Prekroceny maximalny pocet zaznamov\n"); break; case 'o': odoberanie(); break; case 'x': break; default : continue; } } }
void uloz(void) { FILE *vstup; int i; vstup=fopen("databaza.txt","wt"); for(i=0;i<max;i++) fprintf(vstup, "%s %s %s %s\n",zoznam[i].priezvisko,zoznam[i].meno,zoznam[i].cislo,zoznam[i].vek); fclose(vstup); }
int hladanie(int *x) { DB hladanie; *x = 0; int uzMame = 0; printf("\nDaj priezvisko osoby: "); scanf("\n%20s",hladanie.priezvisko); while ((*x < max) && !(uzMame = strcmp(hladanie.priezvisko, zoznam[*x].priezvisko) == 0)) (*x)++; return(uzMame); }
void odoberanie() { int ktora,i,mameJu; printf("\nVymazem osobu zo zoznamu"); mameJu=hladanie(&ktora); if (mameJu) { for (i=ktora;i<max;i++) zoznam[i]=zoznam[i+1]; max--; printf("\n\nUspesne vymazana!"); } else printf("\nTaka osoba nie je v zozname!"); getch(); } databaza1.cpp Kód: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h>
typedef struct { char priezvisko[30] ; char meno[30]; char cislo[30]; } DB;
DB zoznam[20];
int max;
int vlozenie (DB novy); void change(int a,int b); void usporiadaj(void); void vypis(void); void pridaj(void);
void main() { DB novy; char c='0'; while (c!='q') { system("cls"); printf ("(p): pridanie \n"); printf ("(u): zoradenie (podla priezv.) \n"); printf ("(v): vypis zoznamu \n"); printf ("(q): koniec \n"); switch (c=getch()) { case 'p': pridaj(); break; case 'u': usporiadaj(); break; case 'v': vypis(); break; case 'q': break; default : continue; } } }
int vlozenie (DB novy) { if (max==20) return 0; zoznam[max]=novy; max++; return 1; }
void change(int a,int b) { DB pom; pom=zoznam[a]; zoznam[a]=zoznam[b]; zoznam[b]=pom; }
void usporiadaj(void) { int i,i1=0,ii; for (ii=0;ii<max;ii++) { i1=ii; for (i=ii+1;i<max;i++) { if (strcmp(zoznam[i1].priezvisko,zoznam[i].priezvisko)>0) i1=i; } if (i1!=ii) change(i1,ii); } }
void vypis(void) { int i; system("cls"); printf("Aktualny stav v zoznmu\n"); printf("POLOZKA PRIEZVISKO MENO TEL.CISLO\n\n"); for (i=0;i<max;i++) { printf("%d",i+1); printf("%19s", zoznam[i].priezvisko); printf("%13s", zoznam[i].meno); printf("%19s", zoznam[i].cislo); } getch(); }
void pridaj(void) { DB novy; char c='0'; while (c!=62) { system("cls"); printf("Zadaj priezvisko: "); scanf("%s",novy.priezvisko); printf("Zadaj meno: "); scanf("%s",novy.meno); printf("Zadaj cislo: "); scanf("%s",novy.cislo); if (vlozenie(novy)==0) printf("Prekroceny maximalny pocet zaznamov\n"); } } databaza2.cpp Kód: #include<stdio.h> #include<conio.h> #include<stdlib.h>
typedef struct sklad { char meno[20]; int cislo; } SKLAD;
int pridat (SKLAD *zoznam,int i) { char k='a'; while ((k=='a') || (k=='A')) { clrscr(); printf("Zadajte meno: "); scanf("%s",zoznam[i].meno); printf("Zadajte cislo: "); scanf("%d",&zoznam[i].cislo); i++; printf("\nChcete pridat dalsiu polozku? (a/n)"); k=getch(); } return(i); }
void zobraz(SKLAD *zoznam,int i) { clrscr(); int n; for (n=0;n<i;n++) { printf("Uzivatel %s",zoznam[n].meno); printf(" ma cislo %d\n",zoznam[n].cislo); } getch(); }
void usporiadat(SKLAD *zoznam,int i) { int m = 0; int n = 0; SKLAD *p_pom; /* pomocny pointer */ for (m=0; m<i; m++) { for (n=m; n<i;n++) { if ((zoznam[m].cislo) > (zoznam[n].cislo)) { p_pom[0] = zoznam[n]; /* algoritmus */ zoznam[n] = zoznam[m]; zoznam[m] = p_pom[0]; } } } zobraz(zoznam,i); getch(); }
/* Zapis do txt/bin suboru */ void uloz(SKLAD *zoznam,int i) { int n; FILE *ft, *fb; if ((ft = fopen("VYSTUP.TXT","w")) == NULL ) { printf("Subor sa nepodarilo otvorit!"); exit(1); } for (n=0;n<i;n++) { fprintf(ft,"Uzivatel %s",zoznam[n].meno); fprintf(ft," ma cislo %d\n",zoznam[n].cislo); } fclose(ft); if ((fb = fopen("VYSTUP.BIN", "wb")) == NULL ) { printf("Subor sa nepodarilo otvorit!"); exit(1); } fwrite(zoznam,sizeof(SKLAD), i, fb); fclose(fb); }
/* Hlavny program */ void main (void) { SKLAD zoznam[25]; int i=0; clrscr(); i = pridat(zoznam,i); zobraz(zoznam,i); usporiadat(zoznam,i); uloz(zoznam,i); } databaza3.cpp Kód: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h>
typedef struct { char priezvisko[30] ; char meno[30]; char cislo[30]; char vek[30]; } DB;
DB zoznam[20];
int max;
void odoberanie(); int hladanie(int *x); int vlozenie (DB novy); void change(int a,int b); void usporiadaj(void); void vypis(void); void editovanie(void); void uloz(void);
void main() { DB novy; char c='0'; FILE *vstup; if ((vstup=fopen("databaza.txt","rt")) == NULL) { printf("Subor databaza.txt sa neda otvorit\n"); exit(1); } max=0; while(feof(vstup)==NULL) { fscanf(vstup,"%s",novy.priezvisko); fscanf(vstup,"%s",novy.meno); fscanf(vstup,"%s",novy.cislo); fscanf(vstup,"%s",novy.vek); if (vlozenie(novy)==0) printf("\n Prilis vela poloziek"); } max--; while (c!='q') { clrscr(); printf (" Menu \n"); printf ("============================== \n"); printf ("(e): editovanie zoznamu \n"); printf ("(u): usporiadanie (podla veku) \n"); printf ("(v): vypis zoznamu \n"); printf ("(s): ulozenie do suboru \n\n"); printf ("(q): koniec \n\n"); switch (c=getch()) { case 'e': editovanie();break; case 'u': usporiadaj(); break; case 'v': vypis(); break; case 's': uloz(); break; case 'q': break; default : continue; } } }
int vlozenie (DB novy) { if (max==20) return(0); zoznam[max]=novy; max++; return(1); }
void change(int a,int b) { DB pom; pom=zoznam[a]; zoznam[a]=zoznam[b]; zoznam[b]=pom; }
void usporiadaj(void) { int i,i1=0,ii; for (ii=0;ii<max;ii++) { i1=ii; for (i=ii+1;i<max;i++) { if (strcmp(zoznam[i1].vek,zoznam[i].vek)>0) i1=i; } if (i1!=ii) change(i1,ii); } }
void vypis(void) { int i; clrscr(); printf("Aktualny stav v zoznmu\n"); printf("POLOZKA PRIEZVISKO MENO TEL.CISLO VEK\n\n"); for (i=0;i<max;i++) { printf("%d",i+1); printf("%19s", zoznam[i].priezvisko); printf("%13s", zoznam[i].meno); printf("%19s", zoznam[i].cislo); printf("%12s\n", zoznam[i].vek); } getch(); }
void editovanie(void) { DB novy; char c='0'; int i; char priezvisko; while (c!='x') { clrscr(); printf (" Editovanie \n"); printf ("============================== \n"); printf ("(p): pridanie kontaktu \n"); printf ("(o): odobratie kontaktu \n\n"); printf ("(x): navrat do hlavneho menu \n\n"); switch (c=getch()) { case 'p': printf("Zadaj priezvisko: "); scanf("%s",novy.priezvisko ); printf("Zadaj meno: "); scanf("%s",novy.meno); printf("Zadaj cislo: "); scanf("%s",novy.cislo); printf("Zadaj vek: "); scanf("%s",novy.vek); if (vlozenie(novy)==0) printf("Prekroceny maximalny pocet zaznamov\n"); break; case 'o': odoberanie(); break; case 'x': break; default : continue; } } }
void uloz(void) { FILE *vstup; int i; vstup=fopen("databaza.txt","wt"); for(i=0;i<max;i++) fprintf(vstup, "%s %s %s %s\n",zoznam[i].priezvisko,zoznam[i].meno,zoznam[i].cislo,zoznam[i].vek); fclose(vstup); }
int hladanie(int *x) { DB hladanie; *x = 0; int uzMame = 0; printf("\nDaj priezvisko osoby: "); scanf("\n%20s",hladanie.priezvisko); while ((*x < max) && !(uzMame = strcmp(hladanie.priezvisko, zoznam[*x].priezvisko) == 0)) (*x)++; return(uzMame); }
void odoberanie() { int ktora,i,mameJu; printf("\nVymazem osobu zo zoznamu"); mameJu=hladanie(&ktora); if (mameJu) { for (i=ktora;i<max;i++) zoznam[i]=zoznam[i+1]; max--; printf("\n\nUspesne vymazana!"); } else printf("\nTaka osoba nie je v zozname!"); getch(); } databaza4.cpp Kód: #include <STDIO.H> #include <STDLIB.H> #include <STRING.H> #define N 9
struct ex1{ char m[8]; float cislo; struct ex1 *dalsi; } p,t;
struct POM{ struct ex1 *prvy; struct ex1 *aktual; struct ex1 *posledny; int dlzka; } POM;
void pridaj(struct POM *s, struct ex1 *q); void vloz(struct POM *s, struct ex1 *q); void zrus(struct POM *s);
main() { int i; struct ex1 *pex=&p, *t, *tp; struct POM *pp=&POM;
randomize(); printf("\Telefonny zoznam povodny\n"); for(i=0;i<N;I++){ * 4)pp- if(i="=" pridaj(pp,pex); p.cislo="100000+100*random(90)+random(10000); " sprintf(p.m,?Meno%03d?,i); strukturu naplnit>aktual = pp->posledny; printf("%2d. %s %.0f\n",i,p.m,p.cislo); } sprintf(tp->m,"Meno%03d",N+100); tp->cislo=100000+100*random(90)+random(10000); pridaj(pp,tp); i=0; t=pp->prvy; printf("\nTel. zoznam 1. pridat posledny\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; getchar(); zrus(pp); i=0; t=pp->prvy; printf("\nTel. zoznam 2. zrusit 5. polozku\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; getchar(); vloz(pp,pex); i=0; t=pp->prvy; printf("\nTel. zoznam 3. vloz za 6. polozku\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; getchar(); pp->aktual = pp->prvy; vloz(pp,pex); i=0; t=pp->prvy; printf("\nTel. zoznam 4. vloz za 1. polozku\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; getchar(); zrus(pp); i=0; t=pp->prvy; printf("\nTel. zoznam 5. zrus 1. polozku\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; getchar(); pp->aktual = pp->posledny; vloz(pp,pex); i=0; t=pp->prvy; printf("\nTel. zoznam 6. vloz za posl. polozku\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; getchar(); pp->aktual = pp->posledny; zrus(pp); i=0; t=pp->prvy; printf("\nTel. zoznam 7. zrus posl. polozku\n"); while(t){ printf("%2d. %s %.0f\n",i++,t->m,t->cislo); t=t->dalsi; }; }
void pridaj(struct POM *s, struct ex1 *q) /* pridaj novu polozku na koniec zoznamu */ { register struct ex1 *h;
h = malloc(sizeof(struct ex1)); /* pamat */ if(h == NULL){ printf("\nMalo pamate\n"); return; }; h->cislo = q->cislo; /* kopia */ strcpy(h->m,q->m); if(s->dlzka++==0) /* 1. polozka */ s->prvy = h; else s->posledny->dalsi = h; h->dalsi = NULL; /* posledna polozka */ s->posledny = h; /* pripoj polozku */ }
void vloz(struct POM *s, struct ex1 *q) /* vloz polozku na poziciu aktual */ { register struct ex1 *h;
h = malloc(sizeof(struct ex1)); /* pamat */ if(h == NULL){ printf("\nMalo pamate\n"); return; }; h->cislo = q->cislo; /* kopia */ strcpy(h->m,q->m);
if(s->dlzka++ == 0){ /* prazdny zoznam */ /* vloz na zaciatok */ s->prvy = s->aktual = s->posledny = h; h->dalsi = NULL; } if(s->aktual == s->posledny){ /* vloz na koniec */ s->posledny->dalsi = h; h->dalsi = NULL; s->posledny = h; } else{ /* vloz na poziciu aktual */ h->dalsi = s->aktual->dalsi; s->aktual->dalsi = h; }; }
void zrus(struct POM *s) /* zrus polozku aktual */ { register struct ex1 *h, *t; int prvy=1; /* sprac. 1. polozky */
if(s->dlzka == 0) /* prazdny zoznam */ return NULL; t = s->aktual; if(s->dlzka == 1) /* zoznam s 1 polozkou */ s->prvy = s->aktual = s->posledny = NULL; else{ if(s->aktual == s->prvy){ /* 1. polozka */ s->prvy = s->prvy->dalsi; prvy = 0; }; if(s->aktual == s->posledny){ /* posledna polozka */ s->posledny = s->prvy; while(s->posledny->dalsi != s->aktual) s->posledny = s->posledny->dalsi; }; if((s->aktual != s->prvy)&&prvy){ h = s->prvy; /* najst predchadzajucu */ while(h->dalsi != s->aktual) h = h->dalsi; h->dalsi = s->aktual->dalsi; }; /* spojit s nasledujucou */ s->aktual = s->aktual->dalsi; } s->dlzka--; /* znensit dlzku */ free(t); /* uvolnit pamat */ return ; } databaza5.cpp Kód: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h>
/*deklaracia funkcii*/ int Zamen (int &, int &); int Zamen (char &, char &); int Zamen (float , float x=0.0); //union- pamat ku kt. sa da pristupovat rozne napr. int a float. (zdielaju pamat maximum z definovanych typov) union Data{ int i; float f; char c[4];}; /*definicia struktur*/ struct StavoveSlovo16b { unsigned p0:1; unsigned p1:1; unsigned p2:1; unsigned p3:1; unsigned p4:1; unsigned p5:1; unsigned p6:1; unsigned p7:1; unsigned p8:1; unsigned p9:1; unsigned pA:1; unsigned pB:1; unsigned pC:1; unsigned pD:1; unsigned pE:1; unsigned pF:1; }; struct Zoznam{ static int pocet; // zdiela pamat pre vsetky zaznamy char *meno; // smernik na pole znakov = string StavoveSlovo16b S; // rezervuje pamet i pre statove slovo definovane vyssie Zoznam *next; // smernik na dalsi zaznam v zozname Data x; // mozeme tu definovat i union teda vlastny dat. typ }; int Zoznam::pocet=0; int main(){
Zoznam *zac, *dalsi, *novy; /* zac=zaciatocny a nebudem ho menit a preto by mal byt konstantny * dalsi= pomocou tohto smernika mozem prechadzat polom - zoznamom * novy= pomocou tohto smernika vytvaram nove prvky zoznamu */ int *A,pom; //const int VP= sizeof(A)/sizeof(int); // zistit velkost statickeho pola. // pre dynamicke pole je vhodne si uchovat konst. scanf("%d",&pom); const int VP=pom;
//B= (int*) malloc(VP *sizeof(int)); // C pristup A = new int [VP]; // C++ pristup
char c; while (c!='q') { system("CLS"); printf (" Menu \n"); printf ("============================= \n"); printf ("(p): pridat \n"); printf ("(z): zmazat \n\n"); printf ("(q): koniec \n\n"); switch (c=getch()) { case 'p': zac = new Zoznam; (*zac).meno= new char [] = "Stano"; (*zac).pocet++; //incrementacia zoznamu pre udaje //zac->pocet=1; // to iste (*zac).S.p0= true; (*zac).next= NULL; (*zac).x.i = 3; break; case 'z': delete [] A; // C++ pristup //free(B); // C pristup break; case 'q': break; default : continue; } }
// rezervuje pamat pre : smernik char, int, stavove slovo, smernik na Zoznam, Data // 1. kontakt (Stano,150,0x01,dalsi nie je,3)
// pridat dalsi kontakt t.j. 2,3 ... kontakt (XXX,2,0x01,...,4.5) dalsi=zac; while( (*dalsi).next != NULL ) dalsi=(*dalsi).next; // prechadzam az na koniec novy= new Zoznam; // (*novy).meno= new char [] = "XXX"; (*novy).pocet++; //incrementacia zoznamu pre udaje (*novy).S.p0= true; (*novy).next= NULL; (*novy).x.f = 4.5; (*dalsi).next = novy;
for(int i=0; i< VP; i++) printf("%d,", A[i]);printf("\n"); for(int j=0; j< VP; j++){ for(int i=0; i< VP-1-j; i++) if(A[i] < A[i+1]) Zamen(A[i],A[i+1]); // for (int i=0; i< VP; i++) printf("%d,", A[i]);printf("\n"); } for (i=0; i< VP; i++) printf("%d,", A[i]);printf("\n");
return 0; }
int Zamen( int &x, int &y) { x = x+y; y = x-y; x = x-y; return 0;} int Zamen( char &x, char &y) { x = x^y; y = x^y; x = x^y; return 0;} int Zamen (float x, float z) { x=x*z; z=x/z; x=x/z; //printf("%f,%f\n",x,z); return 0;} dazd.cpp Kód: #include <stdio.h>
int rain(int x, int y, int z) { for(int j=0;j<z;j++) { for(int i=0;i<x;i++) if(j%2) { printf("* "); for(int k=0;k<y;k++) printf(" "); } else { printf(" *"); for(int l=0;l<y;l++) printf(" "); } printf("\n"); } return 0; }
int main() { int x=10, y=2, z=4; rain(x,y,z); return 0; } diamant.cpp Kód: #include <stdio.h>
int testznaku(int n) { if(n>96 && n<123) return n; else return 0; }
int main () { FILE *vstup,*vystup; int n, c;
printf("Zadaj sirku diamantu (iba neparne cisla): "); do { scanf("%i", &n); } while((n%2)==0);
vstup=fopen("zdroj.txt","r"); if (vstup==NULL) { printf("chybazdroj"); return 1; } vystup=fopen("diamant.txt","w"); if (vystup==NULL) { printf("chybadiamant"); return 1; }
while ((c = getc(vstup)) != EOF) { putc(testznaku(c), vystup); }
fclose(vstup); fclose(vystup); return 0; } faktorial1.cpp Kód: #include <stdio.h>
int faktorial(int n); int main() { int cislo, vysledok; printf("Zadaj cislo: "); scanf("%d", &cislo); vysledok = faktorial(cislo); printf("!%d je %d\n", cislo, vysledok); return 0; }
int faktorial(int n) { int faktorial = n; if(n == 1) return 1; else if(n < 1) { printf("CHYBA - zaporne cislo!\n"); return 0; }
int i; for(i = 1;i < n;i++) { faktorial = faktorial * (n - i); if((n - i) == 1) return faktorial; } return 0; } faktorial2.cpp Kód: #include <stdio.h>
int faktorial(int n) { int faktorial=n; if(n==1) return 1; else if(n<1) { printf("CHYBA zaporne cislo!!!!!\n"); return 0; }
int i; for(i=1;i<n;i++) { faktorial=faktorial*(n-i); if((n-i)==1) return faktorial; } }
int main() { int cislo; printf("Zadaj cislo:\n"); scanf("%d",&cislo); int vysledok=faktorial(cislo); printf("!%d...%d\n",cislo, vysledok);
system("pause"); return 0; } kopie suborov.cpp Kód: /* Z textoveho suboru "ORIG.TXT" urobime kopiu znak po znaku do suboru "KOPIA.TXT". Citanie znakov zo vstupneho textoveho suboru Zapis znakov do vystupneho textoveho suboru */
#include<stdio.h> void main(void) { FILE *fr,*fw; // vstupny a vystupny subor
int c; // citany znak
if((fr=fopen("ORIG.TXT","r"))==0) { printf("neotvorilo"); return; } // original fw=fopen("KOPIA.TXT","w"); // kopia
// fr=stdin; presmerovanie na stand. subor klavesnica // fw=stdout; presmerovanie na stand. subor obrazovka
c=getc(fr); while(feof(fr)==0) { // pokial nie je koniec citaneho suboru t.j. feof(fr)==0, // vlozime precitany znak do suboru fw a precitame z fr dalsi
putc(c,fw); c=getc(fr); } // cyklus sa skonci, ked je koniec citaneho suboru t.j. feof(fr)==1 fclose(fr); fclose(fw); }
/* POZNAMKA Je mozne pouzit aj volania funkcie fscanf(fr,"%c",&c), alebo fprintf(fw,"%c",c) tie vsak viac pouzivame na pracu s cislami */ kvadraticka rovnica.cpp Kód: #include<math.h> #include<stdio.h> #include<conio.h> #include<stdlib.h>
void main() { char z; do { clrscr(); float a, b, c, x1, x2, D;
printf("\t\\tKvadraticka rovnica ax^2+bx+c=0\n"); printf("\n\nzadaj nenulovu realnu hodnotu pre a:\t"); scanf("%f",&a); printf("\n\tzadaj realnu hodnotu pre b:\t"); scanf("%f",&b); printf("\n\tzadaj realnu hodnotu pre c:\t"); scanf("%f",&c);
if (a!=0) { D=(b*b)-(4*a*c); if (D>=0) { D=sqrt(D); x1=(-b+D)/(2*a); x2=(-b-D)/(2*a); printf("\n\nkorenesu:\n\t\tx1=%f\n\n\t\tx2=%f",x1,x2); } else { printf("\a\n\trovnica nema v obore R riesenie"); } } else { printf("\a\a\n\n\tzadane hodnoty nesplnaju parametre kvadratickej rovnice"); } printf("\n\n\t\t\t\tna ukoncenie stlac ""q"" a potvrd\n\n\t\t\tpre pokracovanie stalc space a potvrd\t"); scanf("%c",&z); z=getchar(); } while (z!='q'); } matica1.cpp Kód: #include <stdio.h> #include <conio.h>
int determinant (int x[3][3]); int determinant_ciastkovej_matice (int x[3][3], int i, int j); void vypis_maticu (int x[3][3], int menovatel); void inverzna_matica (int x[3][3]); void pocitaj_rovnicu (int x[3][3]);
int main () { int i; int matica[3][3]; char c='0'; printf("Zadanie: 2. Praca s maticami (2)\n\n (x11 x21 x31) (b1)\nMatica=(x12 x22 x32) p=(b2)\n (x13 x23 x33) (b3)\n\nZadaj maticu(zadaj iba cisla):\n");
while (c != 'q') { printf("m=zadaj maticu\nd=determinant\ni=inverzna matica\nr=rovnica\nk=koniec\n\n\n"); switch (c=getch()) { case 'm': for (i = 0; i < 3; i++) { printf("%i. riadok matice: ", i+1); scanf("%i%i%i", &(matica[i][0]), &(matica[i][1]), &(matica[i][2])); } break; case 'd': printf("\nZadana matica:\n"); vypis_maticu(matica, 1); printf("\n\nDeterminant: %i\n", determinant(matica)); break; case 'i': printf("\nZadana matica:\n"); vypis_maticu(matica, 1); inverzna_matica(matica); break; case 'r': printf("\nZadana matica:\n"); vypis_maticu(matica, 1); pocitaj_rovnicu(matica); break; case 'k': return 0; break; } } return 0; }
// funkcia determinant pocita determinant matice 3x3 podla zadaneho algoritmu int determinant (int x[3][3]) { return (x[0][0]*x[1][1]*x[2][2] - x[0][0]*x[1][2]*x[2][1] + x[0][1]*x[1][2]*x[2][0] - x[0][1]*x[1][0]*x[2][2] + x[0][2]*x[1][0]*x[2][1] - x[0][2]*x[1][1]*x[2][0]); }
// funkcia determinant_ciastkovej_matice - tam vlozim maticu, poviem ktory riadok // a ktory stlpec sa ma odstranit, tym padom dostanem ciastkovu maticu, no a funkcia // vrati determinant tejto ciastkovej matice, cize z matice 3x3 vyberie (i+1)-ty riadok // a (j+1)-ty stlpec, dostaneme maticu 2x2 a vypocita sa jej determinant int determinant_ciastkovej_matice (int x[3][3], int i, int j) { int r1, r2, s1, s2;
if (i == 0) { r1 = 1; r2 = 2; } else if (i == 1) { r1 = 0; r2 = 2; } else { // i == 2 r1 = 0; r2 = 1; }
if (j == 0) { s1 = 1; s2 = 2; } else if (j == 1) { s1 = 0; s2 = 2; } else { // j == 2 s1 = 0; s2 = 1; }
// vypocita determinant matice 2x2 podla zadaneho algoritmu return (x[r1][s1]*x[r2][s2] - x[r1][s2]*x[r2][s1]); }
// funkcia vypis_maticu sa pouziva na vypisanie matice void vypis_maticu (int x[3][3], int menovatel) { // ak je menovatel rovny 0 tak vypise chybu if (menovatel == 0) { printf("chyba! menovatel = 0 vo vypis_maticu()!\n\n"); }
int absmen = menovatel > 0 ? menovatel : -menovatel; // absolutna hodnota menovatela int i, j, num;
// cyklus vypisuje maticu na obrazovku for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { num = x[i][j]; if (menovatel < 0) num = -num; if (absmen == 1) printf("\t%i", num); else printf("\t%i/%i", num, absmen); } printf("\n"); } }
// funkcia inverzna_matica - vypocita inverznu maticu a vypise ju void inverzna_matica (int x[3][3]) { int det = determinant(x); // podmienka urcuje, ze ak je determinant nulovy, tak vypise o tom hlasku if (det == 0) { printf("determinant je nulovy, inverzna matica neexistuje!\n\n"); }
int inverzna[3][3]; int i, j;
printf("\nInverzna matica:\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { inverzna[i][j] = determinant_ciastkovej_matice(x, j, i); if ((i+j)&1) inverzna[i][j] = -inverzna[i][j]; } } vypis_maticu(inverzna, det); }
// funkcia pocitaj_rovnicu si od uzivatela vypyta prave strany rovnic a vypocita sustavu void pocitaj_rovnicu (int x[3][3]) { int det = determinant(x); // podmienka urcuje, ze ak je determinant nulovy, tak vypise o tom hlasku if (det == 0) { printf("determinant je nulovy, neviem pocitat sustavu!\n\n"); }
printf("\nRovnica (zadaj pravu stranu):\n");
int i, j; int p[3]; // tu budu prave strany
for (i = 0; i < 3; i++) { // tento cyklus vypise zaciatok rovnice, ku ktorej treba pridat pravu stranu for (j = 0; j < 3; j++) printf("%c%ix^%i ", x[i][j] >= 0 ? '+' : '-', x[i][j] >= 0 ? x[i][j] : -x[i][j], j+1); // rovnica je teda vypisana, este napiseme znamienko rovnasa a // nacitame pravu stranu rovnice printf("= "); scanf("%i", &p[i]); } printf("\nRiesenie sustavy:\n"); // tu budu ulozene hodnoty z jedneho stlpca matice x, ktore pri pocitani // jednotlivych neznamych budeme postupne nahradzat vektorom p
int t[3]; int _det, absdet = det > 0 ? det : -det; int k;
for (k = 0; k < 3; k++) { // do t ulozime (k+1)-ty stlpec t[0] = x[0][k]; t[1] = x[1][k]; t[2] = x[2][k]; // teraz (k+1)-ty stlpec nahradime vektorom k x[0][k] = p[0]; x[1][k] = p[1]; x[2][k] = p[2]; // vypocitame determinant a neznamu _det = determinant(x); if (det < 0) _det = -_det; if (absdet == 1) printf("x^%i = %i\n", k+1, _det); else printf("x^%i = %i/%i\n", k+1, _det, absdet); // do matice x vratime povodny stlpec (k+1) x[0][k] = t[0]; x[1][k] = t[1]; x[2][k] = t[2]; } } matica2.cpp Kód: #include <stdio.h>
int main() { int num, i, j;
printf("zadajte maticu n x n: "); scanf("%d", &num); int matica[&num][&num];
printf("zadajte maticu:\n"); for(i=0; i<num; i++) { for(j=0; j<num; j++) { scanf("%d", &matica[i][j]); } }
return 0; }
/* int main() {
int matica1[2][2]; int matica2[2][2]; int i, j;
printf("zadajte maticu1:\n"); for(i=0; i<2; i++) { for(j=0; j<2; j++) { scanf("%d", &matica1[i][j]); } } printf("zadali ste maticu1:\n"); for(i=0; i<2; i++) { for(j=0; j<2; j++) { printf("%d ", matica1[i][j]); } printf("\n"); } printf("zadali ste maticu2:\n"); for(i=0; i<2; i++) { for(j=0; j<2; j++) { scanf("%d", &matica2[i][j]); } } printf("zadajte maticu2:\n"); for(i=0; i<2; i++) { for(j=0; j<2; j++) { printf("%d ", matica2[i][j]); } printf("\n"); } printf("sucet matic:\n"); for(i=0; i<2; i++) { for(j=0; j<2; j++) { printf("%d ", matica1[i][j]+matica2[i][j]); } printf("\n"); }
return 0; }
int main() {
int pole[2][2]; int i, j;
for(i=0; i<2; i++) { for(j=0; j<2; j++) { scanf("%d", &pole[i][j]); } }
int cislo; printf("zadaj cislo: "); scanf("%d", &cislo);
for(i=0; i<2; i++) { for(j=0; j<2; j++) { printf("%d ", pole[i][j]*cislo); } printf("\n"); }
return 0; } */ matoperacie.cpp Kód: #include <conio.h> #include <stdio.h> #include <math.h>
int sucet (int a, int b) { return a+b; } int rozdiel (int a, int b) { return a-b; } int sucin (int a, int b) { return a*b; } int podiel (int a, int b) { return a/b; } void main(void) { clrscr(); FILE *data; int a,b; data=fopen("vysledok.txt", "w"); printf("Zadaj 2 cisla\n"); scanf("%d" "%d", &a, &b); printf("Sucet je %d\n", sucet(a,b)); fprintf(data,"Sucet je %d\n", sucet(a,b)); printf("Rozdiel je %d\n", rozdiel(a,b)); fprintf(data,"Rozdiel je %d\n", rozdiel(a,b)); printf("Sucin je %d\n", sucin(a,b)); fprintf(data,"Sucin je %d\n", sucin(a,b)); printf("Podiel je %d", podiel(a,b)); fprintf(data,"Podiel je %d\n", podiel(a,b)); fclose(data); getch(); } matoperacie2.cpp Kód: #include <stdio.h>
int sucet(int x, int y); float obsah(int r);
int main() { int a, b, c; float o;
scanf("%i", &a); scanf("%i", &b);
c = sucet(a,b); o = obsah(c);
printf("Sucet: %i\n", c); printf("Obsah: %.2f\n", o);
return 0; }
int sucet(int x, int y) { int z; z = x + y; return z; }
float obsah(int r) { float o; o = 3.14 * r * r; return o; } matoperacie3.cpp Kód: #include <stdio.h>
int main() { int a; float x, y, u, v;
printf("Zadaj prve realne cislo: "); scanf("%f", &x); printf("Zadaj druhe realne cislo: "); scanf("%f", &y); printf("Zadaj cele cislo: "); scanf("%i", &a);
u = (x+a*y)/(x*x-(a*a)*(y*y)); v = 1/(x-a*y);
if ((x-a*y) && (x*x-(a*a)*(y*y)) == 0) { printf("DELENIE NULOU\n"); return 0; }
printf("U = %.2f\n", u); printf("V = %.2f\n", v); return 0; }
matoperacie4.cpp Kód: #include <stdio.h>
int main() { int a, i, prvecislo, opak; float sumk, sumz; printf("Zadaj cisla:"); i = 0; sumk = 0; sumz = 0; opak = 0;
scanf("%i", &prvecislo); while (a != 0) { scanf("%i", &a); if (a > 0) sumk = sumk + 1; if (a < 0) sumz = sumz + 1; if (a == prvecislo) opak = opak + 1;
i = i + 1; }
if (prvecislo > 0) printf("Pomer poctu kladnych a zapornych cisel: %.2f\n", (sumk+1) / sumz); if (prvecislo < 0) printf("Pomer poctu kladnych a zapornych cisel: %.2f\n", sumk / (sumz+1)); printf("Prve cislo sa opakuje: %i krat\n", opak+1); printf("Za sebou nasleduju dve rovnake cisla: krat\n"); printf("Najdlhsia dlzka podpostupnosti opakovanych cisel: \n");
return 0; } minimum-maximum.cpp Kód: #include <stdio.h>
int main() { int a, i, n, sum, min, max; printf("Zadaj pocet cisel: "); scanf("%i", &n); printf("Zadaj %i cisla: ", n); sum = 0;
for (i = 0; i < n; i++) { scanf("%i", &a); sum = sum + a; if (a < min) min = a; if (a > max) max = a;
}
printf("Priemer: %.2f\n", sum/(float) n); printf("Minimum: %.i\n", min); printf("Maximum: %.i\n", max); return 0; } mocnina.cpp Kód: #include <stdio.h>
int imoc(int x, int n); void main(void) { printf("Mocnina (%d)%d = %d\n",3,4,imoc(3,4)); }
int imoc(int x, int n) { int y=1; while (n--) y *=x; return (y); } mocnina2.cpp Kód: #include <stdio.h>
int imoc(int x, int n); void main(void) { printf("Mocnina (%d)%d = %d\n",3,4,imoc(3,4)); }
int imoc(int x, int n) { int y=1; while (n--) y *=x; return (y); } nulovanieodzadu.cpp Kód: #include <stdio.h>
void nulovanie(int a[], unsigned int k) { int i; for (i = 0; i != 100; i++) a[i] = k; }
void odzadu(int a[]) { int i, j; for (i = 0; i != 100; i++) { for (j = 100; j != 0; j--) printf("%i", a[j]); }
int main() { int a[100];
nulovanie(100, 0); odzadu(100);
return; } obvod.cpp Kód: #include <stdio.h>
int obvod(int a, int b); int main() { int a, b = 3;
for(a = 1; a < 10; a++) obvod(a, b); return 0; }
int obvod(int a, int b) { printf("2*(%d + %d) = %d\n", a, b, 2*(a + b)); return 1; } otvorenie cez argv.cpp Kód: #include <stdio.h> #define MAX 80
void main(int argc, char *argv[]) { FILE *fp; FILE *fq; char lm[MAX]; int ln;
if(argc==1) printf("Bez parametru\n",argv[0]); else { fp = fopen(argv[1],"r"); if (fp == NULL) printf("Input file error!",argv[1]); else { ln=0; while (fgets(lm,MAX,fp)) printf("Pocet riadkov: %d\n",++ln); fclose(fp); } fq = fopen("a.out","w"); /* netusim... */ fclose(fq); } } pisomka.cpp Kód: #include <stdio.h>
int testznaku(int n) { if(n>96 && n<123) return n; else return 0; }
int main () { FILE *vstup,*vystup; int n, c;
printf("Zadaj sirku diamantu (iba neparne cisla): "); do { scanf("%i", &n); } while((n%2)==0);
vstup=fopen("zdroj.txt","r"); if (vstup==NULL) { printf("chybazdroj"); return 1; } vystup=fopen("diamant.txt","w"); if (vystup==NULL) { printf("chybadiamant"); return 1; }
while ((c = getc(vstup)) != EOF) { putc(testznaku(c), vystup); }
fclose(vstup); fclose(vystup); return 0; } pocet znakov a riadkov.cpp Kód: #include <stdio.h> #include <ctype.h> int main() { FILE *vstup; char znak; int pocetznakov=0, pocetriadkov=0;
vstup=fopen("N:/roc2005/xfecik/Cvicenia/asdf/asdf.cpp","r"); if (vstup==0) { printf("Nepodarilo sa otvorit subor!"); return 0; } for(znak=getc(vstup);znak!=EOF;znak=getc(vstup)) { if(znak=='\n') pocetriadkov++; else pocetznakov++; putchar(znak); }
printf("Pocet znakov v subore: %i\n", pocetznakov); printf("Pocet riadkov v subore: %i\n", pocetriadkov); fclose(vstup);
printf("\n"); return 0; } pokladna.cpp Kód: /* Zadanie 1 z predmetu Programovanie v C jaziku * Nazov programu: Obchodna registracna pokladna * Ucel programu: Program nacitava z klavesnice jednotlive cisla spolu s riadiacimi symbolmi a * do vystupneho suboru sa zapisuje obvykly pokladnicny listok. */ #include <conio.h> /* Kniznica za clrscr(), zotiera obrazovku */ #include <stdio.h> /* Standardna I/O kniznica */ #include <string.h> /* Kniznica v ktorej sa nachadza funkcia sprcmp ktora porovnava dve retazce */
float NacitajUcet(FILE* vystup); /* Deklaracia a inicializacia funkcie, ktora nacitava ucet */ main() {
FILE *Jano; clrscr(); /* Kniznica za clrscr(), zotiera obrazovku*/ float sucet; /* deklaracia a inicializacia */ int cislo_uctu;
if((Jano = fopen ("A:\\Jano.txt","w")) == NULL){ /* Otvara sa subor, ktory je formatovany na zapis, ale len ak je dana podmienka splnena */ printf("\nNie je mozne vytvorit ucet.txt ."); return (1); /* funkcia vraca hodnotu */ }
cislo_uctu=0;
while(1){ cislo_uctu++; fprintf(Jano,"\n\nMACKO COM.s.r.o\n------------------",cislo_uctu); /* Zapisuju sa do suboru informacie o podnikatelovy */ fprintf(Jano,"\nCislo uctu: %d",cislo_uctu); fprintf(Jano,"\n========================================");
sucet = NacitajUcet(Jano); /* Poziva sa samostatna funkcia*/
fprintf(Jano,"\n========================================"); fprintf(Jano,"\nsucet :\t%.2f\n\n", sucet);
printf("\nNovy ucet (a/n)"); if(getch() != 'a') /* Ak sa podmienka vyplni konci tento ciklus a nas program konci*/ break;
}
fclose(Jano); /* Zatvara sa subor*/ return(0); /* funkcia vraca hodnotu */ }
float NacitajUcet(FILE* vystup) /* Samostatna funkcia, ktora ma ulohu nacitavat ucet */ { float suma=0,cena; char vyrobok[50];
while(1){
printf("\nVneste vyrobok aj cenu >"); /* Formatovany vystup */ scanf("%50s", vyrobok); /* Formatovany vstup */ if(!strcmp(vyrobok,"e")) /* Ak je podmienka vypnena pretrha sa prave vykonavajuci cyklus while a pokracuje sa dalej */ break;
while(scanf("%f",&cena) == 0); /* Kym cena nie je vnesena, program nepokracuje dalej */
suma+=cena;
fprintf(vystup,"\n%s\t%.2f", vyrobok, cena); /* Zapisuje sa do suboru vyrobok a jeho cena */ printf("\naccepted: %s\t%.2f", vyrobok, cena); /* %.2f znamena tlac float premennej s presnostou dvoch desiatin miest */ } return (suma); /* funkcia musi vratit hodnotu do hlavneho programu */
} pole - users.cpp Kód: #include <stdio.h> #include <stdlib.h> #include <conio.h>
#define MENO 30 #define CISLO 5
typedef struct user { char meno[26]; int cislo; } USER;
int main(void) { clrscr(); USER *pole; int rozmer, i;
printf("Zadaj pocet uzivatelov: "); scanf("%d", &rozmer);
pole = (USER *) malloc(sizeof(USER)*rozmer);
USER pouzivatel;
for (i=0; i<rozmer; i++) { printf("Zadaj meno a cislo pouzivatela: "); scanf("%s %d", pole[i].meno, &pole[i].cislo); }
for (i=0; i<rozmer; i++) { printf("Cislo pouzivatela %s je %d.\n", pole[i].meno, pole[i].cislo); } getch(); return 1; } pole.cpp Kód: #include <stdio.h> #include <stdlib.h>
void vynuluj(int *pom_pole, int rozmer_pola) {
int i; for (i=0; i<rozmer_pola; i++) pom_pole[i] = 0;
}
int main(void) {
int *pole; int rozmer, i;
printf("Zadaj rozmer pola: "); scanf("%d", &rozmer);
pole = (int *) malloc(rozmer*sizeof(int));
//nacitanie prvkov pola for (i=0; i<rozmer; i++) { printf("Zadaj %d. cislo: ", i+1); scanf("%d", &pole[i]); }
//vypis pola for (i=0; i<rozmer; i++) printf("%d ", pole[i]);
printf("\n");
//vypis pola pomocou smernikov for (i=0; i<rozmer; i++, pole++) printf("%d ", *pole); printf("\n");
//vynulovanie pola vynuluj(pole, rozmer);
//vypis pola for (i=0; i<rozmer; i++) printf("%d ", pole[i]);
return 0; } pole2.cpp Kód: #include <stdio.h>
void main() { float pole[10]; int zadaj; for (int i=0; i != 10; i++) scanf("%f", &pole[i]); printf("zadaj od kolko chces vypisat: "); scanf("%i", &zadaj);
for (int j=zadaj; j != 10; j++) printf("%.2f\n", pole[j]); }
/* int main() { int pole[]={1,2,3}; unsigned int n=3; int sum=0;
for (int i=0;i!=n;i++) sum += pole[i];
printf("Sucet je: %i", sum);
return 0; } */
/* #define POCET 5
int max, i;
void vypis(int pole[], unsigned int max) { for (i=0; i != max; i++) printf("%i\n", pole[i]); }
void nacitaj(int pole[], unsigned int max) { for (i=0; i != max; i++) scanf("%i", &pole[i]); }
int main() { int pole[POCET];
nacitaj(pole, POCET); vypis(pole, POCET);
return 0; } */ presypacie hodiny.cpp Kód: #include <stdio.h> #include <stdlib.h> int main() { int i, j, m, n=1, k, l, o, p=4;
for(i=0;i<9;i+=2) { for(j=8;i<j;j--) { printf("*"); } printf("*\n"); for(m=0;m<n;m++) { if(n<5) printf(" "); else printf(""); } n++; }
for(k=0;k<9;k+=2) { for(o=0;o<p;o++) { printf(" "); } p--; for(l=0;l<k;l++) { printf("*"); } printf("*\n"); }
printf("\n"); return 0; } prevod z 10 do 2.cpp Kód: #include <stdio.h>
void dec2bin(float dec, char *bin) { int k = 0, n = 0, remain; char doc[80]; do { remain = dec % 2; dec = dec / 2; doc[k++] = remain + '0'; } while (dec > 0); while (k >= 0) bin[n++] = doc[--k]; bin[n-1] = 0; }
int main() { float dec = 0,257; // char bin[80];
// dec2bin(dec,bin); printf("Dvojkova sustava: %s", dec);
return 0; } prevod.cpp Kód: #include <stdio.h>
int main() { int i; float cislo, c, f, k; char znak; for(i=0;i<3;i++) { printf("Zadaj cislo: "); scanf("%f", &cislo); printf("Zadaj znak: "); scanf("%d", &znak);
znak=getchar();
if(znak == 'c') { c=cislo; f=c+32; k=c+273.15; printf("C=%.2f, F=%.2f, K=%.2f\n", c, f, k); } else if(znak == 'f') { f=cislo; c=f-32; k=(f-32)+273.15; printf("C=%.2f, F=%.2f, K=%.2f\n", c, f, k); } else if(znak == 'k') { k=cislo; c=k-273.15; f=(k-273.15)+32; printf("C=%.2f, F=%.2f, K=%.2f\n", c, f, k); } else printf("Nespravny znak!"); } system("PAUSE"); return 0; }
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 01.05.05 Príspevky: 13419 Témy: 1494 | 1494 Bydlisko: Bratislava |
prvocisla.cpp
Kód: /* TODO: interaktiv - - popisat algoritmus - vytvorit napln, inicializaciu - vytvorit iteracnu funkciu - vypis po jednom prvocisle - vypis poctu prvocisel - vypis po kazdom kroku - vypis po kazdom kroku 10x10 - vypis po kazdom kroku mod prime - ukazat, ze staci ist po odmocninu - funkcia pocet a kontrolny cyklus - ukazat casovanie */
#include <stdio.h> #include <time.h>
#define FIRST 2 #define LAST 16000000 #define SQRT 4000
void napln(int *pole) { int i; /* Cyklus bez posunu: for (i = FIRST; i <= LAST; i++) pole[i-FIRST] = i;
/* predposunieme si spodny index */ pole -= FIRST;
/* potom mame pekny cyklus */ for (i = FIRST; i <= LAST; i++) pole[i] = i; }
int spocitaj(int *pole) { int i, pocet = 0;
pole -= FIRST;
for (i = FIRST; i <= LAST; i++) if (pole[i]) pocet++; return pocet; }
int iteracia(int* pole, int prvocislo) { int i;
pole -= FIRST; for (i = 2*prvocislo; i <= LAST; i += prvocislo) pole[i] = 0;
for (i = prvocislo+1; i <= LAST; i++) if (pole[i] != 0) return i;
return 0; }
void vypis(int *pole, int prvocislo) { int i;
/* predposunieme si spodny index */ pole -= FIRST;
/* potom mame pekny cyklus */ for (i = 1; i < FIRST; i++) { printf(" "); }
for (i = FIRST; i <= LAST; i++) { printf("%2i", pole[i]); printf(i % prvocislo ? " " : "\n"); } printf("\n"); }
int gpole[(LAST - FIRST) + 1]; /* od 2 do 100 */ int main(void) { int prvocislo, pocet = 0; int* pole = gpole; clock_t start, end;
start = clock(); napln(pole); for (prvocislo = 2; prvocislo != 0; prvocislo = iteracia(pole, prvocislo)) { /* vypis(pole, prvocislo); getchar(); */ /* printf("%i\n", prvocislo); */ pocet++; } end = clock(); printf("Pocet prvocisel: %i\n", pocet); printf("Cas pocitania: %.2lf ms\n", 1000.0 * (end - start)/CLK_TCK);
start = clock(); napln(pole); for (prvocislo = 2; prvocislo < SQRT; prvocislo = iteracia(pole, prvocislo)) ;
end = clock(); printf("Pocet prvocisel: %i\n", spocitaj(pole)); printf("Cas pocitania: %.2lf ms\n", 1000.0 * (end - start)/CLK_TCK);
getchar(); return 0; } subor - argv.cpp Kód: #include <stdio.h> #include <stdlib.h>
int main(int argc, char* argv []) {
FILE *subor; int a; argv[3] = 'subro.txt'; subor = fopen (argv[3],"r"); while (EOF!=fscanf(subor, "%i", &a)) { printf ("%i", a); } fclose (subor); return 0; } subor.cpp Kód: #define MENO 100
int main() { char meno_sub[MENO+1]; FILE * subor; printf ("Zadaj meno"); scanf ("%100s", meno_sub); subor = fopen (meno_sub, "r"); if (subor == 0) printf("Neotvorilo"); // funkcia(subor); fclose(subor); return 0; } sucet obsah.cpp Kód: #include <stdio.h>
int sucet(int x, int y); float obsah(int r);
int main() { int a, b, c; float o;
scanf("%i", &a); scanf("%i", &b);
c = sucet(a,b); o = obsah(c);
printf("Sucet: %i\n", c); printf("Obsah: %.2f\n", o);
return 0; }
int sucet(int x, int y) { int z; z = x + y; return z; }
float obsah(int r) { float o; o = 3.14 * r * r; return o; } sum slov vo vete.cpp Kód: #include <stdio.h> #include <stdlib.h> #include <string.h>
int main() { char word[100]; int count=0; int len=0;
printf("Zadaj vetu<ukonci ju bodkou): "); while (scanf("%s", word) && strcmp (word, ".")) { int len=strlen(word); count++; if(word[len-1]=='.') break; } FILE * fout; if (!(fout=fopen("vystup.txt","w"))) return 1;
sprintf(word,"Veta obsahuje slov: %i ",count); len=strlen(word); fwrite(word, sizeof(char) * len, 1, fout); fclose(fout);
printf("pozri vystup.txt\n"); system("pause"); return 0; } time.cpp Kód: /* TODO: interaktiv - - popisat algoritmus - vytvorit napln, inicializaciu - vytvorit iteracnu funkciu - vypis po jednom prvocisle - vypis poctu prvocisel - vypis po kazdom kroku - vypis po kazdom kroku 10x10 - vypis po kazdom kroku mod prime - ukazat, ze staci ist po odmocninu - funkcia pocet a kontrolny cyklus - ukazat casovanie */
#include <stdio.h> #include <time.h>
#define FIRST 2 #define LAST 16000000 #define SQRT 4000
void napln(int *pole) { int i; /* Cyklus bez posunu: for (i = FIRST; i <= LAST; i++) pole[i-FIRST] = i;
/* predposunieme si spodny index */ pole -= FIRST;
/* potom mame pekny cyklus */ for (i = FIRST; i <= LAST; i++) pole[i] = i; }
int spocitaj(int *pole) { int i, pocet = 0;
pole -= FIRST;
for (i = FIRST; i <= LAST; i++) if (pole[i]) pocet++; return pocet; }
int iteracia(int* pole, int prvocislo) { int i;
pole -= FIRST; for (i = 2*prvocislo; i <= LAST; i += prvocislo) pole[i] = 0;
for (i = prvocislo+1; i <= LAST; i++) if (pole[i] != 0) return i;
return 0; }
void vypis(int *pole, int prvocislo) { int i;
/* predposunieme si spodny index */ pole -= FIRST;
/* potom mame pekny cyklus */ for (i = 1; i < FIRST; i++) { printf(" "); }
for (i = FIRST; i <= LAST; i++) { printf("%2i", pole[i]); printf(i % prvocislo ? " " : "\n"); } printf("\n"); }
int gpole[(LAST - FIRST) + 1]; /* od 2 do 100 */ int main(void) { int prvocislo, pocet = 0; int* pole = gpole; clock_t start, end;
start = clock(); napln(pole); for (prvocislo = 2; prvocislo != 0; prvocislo = iteracia(pole, prvocislo)) { /* vypis(pole, prvocislo); getchar(); */ /* printf("%i\n", prvocislo); */ pocet++; } end = clock(); printf("Pocet prvocisel: %i\n", pocet); printf("Cas pocitania: %.2lf ms\n", 1000.0 * (end - start)/CLK_TCK);
start = clock(); napln(pole); for (prvocislo = 2; prvocislo < SQRT; prvocislo = iteracia(pole, prvocislo)) ;
end = clock(); printf("Pocet prvocisel: %i\n", spocitaj(pole)); printf("Cas pocitania: %.2lf ms\n", 1000.0 * (end - start)/CLK_TCK);
getchar(); return 0; } triedenie cisiel.cpp Kód: #include <stdio.h> #include <malloc.h>
int main() { int *s; int x=5;
s=(int *)malloc(x*sizeof(int));
for(int i=0;i<5;i++) { scanf("%d", &s[i]); }
int a,b,pom; for(a=1; a<x; ++a) for(b=x-1; b>=a; --b) if(s[b-1] > s[b]) { pom = s[b-1]; s[b-1] = s[b]; s[b] = pom; }
for(i=0;i<5;i++) { printf("%d", s[i]); }
return 0; } triedenie cisiel.cpp Kód: #include <stdio.h> #include <malloc.h>
int main() { int *s; int x=5;
s=(int *)malloc(x*sizeof(int));
for(int i=0;i<5;i++) { scanf("%d", &s[i]); }
int a,b,pom; for(a=1; a<x; ++a) for(b=x-1; b>=a; --b) if(s[b-1] > s[b]) { pom = s[b-1]; s[b-1] = s[b]; s[b] = pom; }
for(i=0;i<5;i++) { printf("%d", s[i]); }
return 0; } triedenie slov.cpp Kód: #include <stdio.h> #include <string.h>
int main() { FILE *f; char pole[50][20]; printf("Zadaj dlzku: "); int n; scanf("%d", &n); f = fopen("zdroj.txt","r"); int pocet = 0; int dlzka;
while(fscanf(f, "%s", pole[pocet])!= EOF) { int dlzka = strlen(pole[pocet]); printf("%s %d\n", pole[pocet], dlzka); if(dlzka > n) pocet++; } fclose(f);
int i, j; char temp[50];
for (i = (pocet - 1);i >= 0; i--) { for (j = 1;j <= i; j++) { if (strcmp(pole[j-1], pole[j]) > 0) { strcpy(temp, pole[j-1]); strcpy(pole[j-1], pole[j]); strcpy(pole[j], temp); } } }
f = fopen("utriedene.txt","w"); for (i = 0;i < pocet;i++) { strcat(pole[i], "\n"); fputs(pole[i], f); } fclose(f);
printf("Nacitanych a zotriedenych bolo: %d slov\n", pocet);
return 0; } trojuholnik.cpp Kód: #include <math.h> #include <stdio.h> #include <conio.h> #include <stdlib.h>
void main() { clrscr(); { float a,b,c,d,e,f,g,h,i; printf("\nZadaj stranu a : "); scanf("%f", &a); printf("\nZadaj stranu b : "); scanf("%f", &b); printf("\nZadaj stranu c : "); scanf("%f", &c);
d=a+b; e=a+c; f=b+c;
g=0; if(d>c) { g=1; }
h=0; if(e>b) { h=1; }
i=0; if(f>a) { i=1; }
if(g*h*i) { printf("\nma riesenie"); } else { printf("\nnema riesenie"); } getch(); } } trojuholnik2.cpp Kód: /* #include <stdio.h>
void main() { int a, b, c; printf("Zadaj prve cislo: "); scanf("%i", &a); printf("Zadaj druhe cislo: "); scanf("%i", &b); printf("Zadaj tretie cislo: "); scanf("%i", &c); printf("Vysledok je: %i\n", (a+b)/c); } */
#include <math.h> #include <stdio.h> #include <conio.h> #include <stdlib.h>
void main() {
{ float a,b,c,d,e,f,g,h,i; printf("\nZadaj stranu a : "); scanf("%f", &a); printf("\nZadaj stranu b : "); scanf("%f", &b); printf("\nZadaj stranu c : "); scanf("%f", &c);
d=a+b; e=a+c; f=b+c;
g=0; if(d>c) { g=1; }
h=0; if(e>b) { h=1; }
i=0; if(f>a) { i=1; }
if(g*h*i) { printf("\nma riesenie"); } else { printf("\nnema riesenie"); } getch(); } } vymena cisel.cpp Kód: #include <stdio.h> #include <conio.h>
void vymen (int *a, int *b, int *c, int *d, int *e, int *f, int *g, int *h, int *i, int *j) { int pom; pom=*a; *a=*j; *j=pom; pom=*b; *b=*i; *i=pom; pom=*c; *c=*h; *h=pom; pom=*d; *d=*g; *g=pom; pom=*e; *e=*f; *f=pom; }
main() { clrscr(); int a=1, b=2, c=3, d=4, e=5, f=6, g=7, h=8, i=9, j=10; vymen (&a, &b, &c, &d, &e, &f, &g, &h, &i, &j); printf ("%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n", a, b, c, d, e, f, g, h, i, j); } vymena cisel2.cpp Kód: #include <stdio.h> #include <conio.h>
main (void) { int pole[] = {1,3,5,0,6,9,7,4,2,8}; int i,j; int hodnota;
for (i=9; i>0; i--) { for (j=1; j<10; j++) { if (pole[j]<pole[j-1]) {
hodnota = pole[j]; pole[j] = pole[j-1]; pole[j-1] = hodnota; } } } for (i=0; i<10; i++) printf ("%d\n", pole[i]); return 1; } vypis parametrov.cpp Kód: #include <stdio.h>
void main(int argc, char **argv) /* void main(int argc, char *argv[]) */ { int i;
while (--argc) /* for (i=1; i<argc; i++) */ printf("%s ", *++argv); /* printf(%s ",argv[i]); */
printf("\n");
} vypis zo suboru.cpp Kód: #include <stdio.h> #include <stdlib.h>
int main(int argc, char* argv []) {
FILE *subor; int a; argv[3] = 'subro.txt'; subor = fopen (argv[3],"r"); while (EOF!=fscanf(subor, "%i", &a)) { printf ("%i", a); } fclose (subor); return 0; } vypisovanie naskenovaneho znaku.cpp Kód: #include <stdio.h>
int main() { char c; c = getchar(); if(c >= 'a' && c <= 'z') putchar(c); return 0; } vypocet cos.cpp Kód: /* 1. Napiste funkciu f, ktora vypocita hodnotu vyrazu cos(1/(x*x+y*y)) pre zadane x, y. Vyuzite funkciu cos z math.h. Ak hodnota nie je definovana, vratte 0. 2. Vypiste tabulku funkcnych hodnot f pre x, y iduce od daneho a po dane b vratane s krokom 1. V tabulke vypiste aj zahlavie s hodnotami x, y, pre ktore sa funkcna hodnota pocita. 3. Vypocitajte maximum z funkcnych hodnot v rozsahu ako v bode 2. 4. Na riesenie bodov 2 a 3 naprogramujte zvlast funkcie s vhodne zvolenym parametrom (volane z funkcie main). */
#include <stdio.h> #include <math.h>
int cosinus(int x, int y) { float z; if((x*x+y*y) == 0) return 0; else { z = cos(1/(x*x+y*y)); printf("%.2f", z); } }
int main() { int x, y;
printf("Zadaj x: "); scanf("%i", &x); printf("Zadaj y: "); scanf("%i", &y);
cosinus(x, y);
return 0;
}
vypocet priemeru n zad. cisel.cpp Kód: #include <stdio.h>
int main() { int a, i, n, sum; char c; printf("Program na vypocet priemeru n zadanych cisel!\n\n"); printf("Zadaj pocet cisel: "); scanf("%i", &n); if (n > 0) { printf("Zadaj %i cisla: ", n); sum = 0; i = 0; while (i < n) { scanf("%i", &a); sum = sum + a; i = i + 1; } printf("Priemer je: %.2f\n\n", sum/(float) n); } else { printf("Najdi si lepsieho programatora!\n\n"); } do { printf("Stlac klavesu k pre ukoncenie programu.\n"); c=getch(); } while (c != 'k'); } vzorA.cpp Kód: #include <stdio.h> #include <stdlib.h>
int main (int poc, char* argv[]) { float cislo; // nacitavane cislo float max; FILE *fin,*fout; char *menosuboru; int prve=1; // ukazuje ci nacitavane cislo je prve
menosuboru = argv[1]; fin=fopen(menosuboru,"r"); if (fin==NULL) { printf("Input file error!"); return 1; } fout=fopen("a.out","w"); if (fout==NULL) { printf("Input file error!"); // logicky by tu malo byt output, ale v zadani bolo takto return 1; }
while (fscanf(fin,"%f\n",&cislo)!= EOF) { if ((cislo>max)||(prve)) { max=cislo; prve=0; } fprintf(fout,"%f\n",cislo*cislo); }
printf("Najvacsie cislo bolo: %f",max); fclose(fin); fclose(fout); return 0; } vzorB.cpp Kód: #include <stdio.h> #include <stdlib.h>
int main (int argc, char* argv[]) { float cislo; float min; FILE *fin,*fout; char *menosuboru; int prve;
menosuboru = argv[1]; fin=fopen(menosuboru,"r"); if (fin==NULL) { printf("Input file error!"); return 1; } fout=fopen("a.out","w"); if (fout==NULL) { printf("Input file error!"); return 1; }
prve=1; while (fscanf(fin,"%f\n",&cislo)!= EOF) { if ((cislo<min)||(prve)) { min=cislo; prve=0; } fprintf(fout,"%f\n",1.0/cislo); }
printf("Najmensie cislo bolo: %f",min); fclose(fin); fclose(fout); return 0; } vzorC.cpp Kód: #include <stdio.h> #include <stdlib.h>
int main (int argc, char* argv[]) { FILE *fin,*fout; char *menosuboru; char znak; int pocet_riadkov=1;
menosuboru = argv[1]; fin=fopen(menosuboru,"r"); if (fin==NULL) { printf("Input file error!"); return 1; }
fout=fopen("a.out","w"); if (fout==NULL) { printf("Input file error!"); return 1; }
znak=fgetc(fin); if (znak==EOF) pocet_riadkov=0; else { do { if (znak=='\n') { pocet_riadkov++; fputc(znak,fout); fputc(znak,fout); } else fputc(znak,fout); } while ((znak=fgetc(fin))!= EOF); }
printf("Pocet riadkov vstupneho suboru: %d.",pocet_riadkov); fclose(fin); fclose(fout); return 0; } vzorD.cpp Kód: #include <stdio.h> #include <stdlib.h>
int main (int argc, char* argv[]) { FILE *fin,*fout; char *menosuboru; char znak; int pocet_riadkov=1;
menosuboru = argv[1]; fin=fopen(menosuboru,"r"); if (fin==NULL) { printf("Input file error!"); return 1; }
fout=fopen("a.out","w"); if (fout==NULL) { printf("Input file error!"); return 1; }
znak=fgetc(fin); if (znak==EOF) pocet_riadkov=0; else { do { if (znak=='\n') { pocet_riadkov++; } else fputc(znak,fout); } while ((znak=fgetc(fin))!= EOF); }
printf("Pocet riadkov vstupneho suboru: %d.",pocet_riadkov); fclose(fin); fclose(fout); return 0; } zamena.cpp Kód: #include <stdio.h> #include <string.h> #include <stdlib.h>
typedef struct user { char meno[26]; int vek; } USER;
void vymen(USER *u1, USER *u2) { USER pomU; strcpy(pomU.meno, u1->meno); strcpy(u1->meno, u2->meno); strcpy(u2->meno, pomU.meno); }
int main(void) {
USER *pouzivatel1, *pouzivatel2;
pouzivatel1 = (USER *) malloc(sizeof(USER)); pouzivatel2 = (USER *) malloc(sizeof(USER));
printf("Zadaj meno a vek 1. pouzivatela: "); scanf("%s %d", pouzivatel1->meno, &pouzivatel1->vek);
printf("Zadaj meno a vek 2. pouzivatela: "); scanf("%s %d", pouzivatel2->meno, &pouzivatel2->vek);
vymen(pouzivatel1, pouzivatel2);
printf("1. pouzivatel sa vola %s, ma %d rokov.\n", pouzivatel1->meno, pouzivatel1->vek); printf("2. pouzivatel sa vola %s, ma %d rokov.\n", pouzivatel2->meno, pouzivatel2->vek);
return 0; }
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Registrovaný: 01.05.05 Príspevky: 13419 Témy: 1494 | 1494 Bydlisko: Bratislava |
Hra lodicky - taka jednoducha...
Kód: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <windows.h>
void mojvypis(char pole[100][100], int m, int n); void vypis(char pompole[100][100], int m, int n); void zadajlode(char pole[100][100], int m, int n); void zadajlodep(char pole[100][100], char pompole[100][100],int m, int n); void mojastrelba(char pole[100][100], char pompole[100][100], int m, int n); int strelba(char pole[100][100], char pompole[100][100], int m, int n); int vyhra(char pole[100][100], char pompole[100][100], int m, int n);
int main() { char pole[100][100], pompole[100][100], menu; int i, j, k=0, l, m=0, n=0, nahodne, sx, sy, p=0, h=0; srand(time(NULL));
printf("\n\n\n\n\n\n\n\n\n\n\t\t\tNacitavam hru lodicky....."); sleep(1000); system("cls");
while(m<3) { printf("Zadaj pocet riadkov (3-100): "); scanf("%i", &m); system("cls"); if(m<3) { printf("Zadaj znova pocet riadkov!\n"); sleep(1000); system("cls"); } }
while(n<3) { printf("Zadaj pocet stlpcov (3-100): "); scanf("%i", &n); if(n<3) { system("cls"); printf("Zadaj znova pocet stlpcov!\n"); sleep(1000); system("cls"); } } system("cls");
for(i = 0 ; i < m; i++) { for(j = 0; j < n; j++) { pole[i][j]=42; pompole[i][j]=42; } } zadajlode(pole, m, n); zadajlodep(pole, pompole, m, n); while(1) { system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); printf("MENU\n----\n1 - zadat suradnicu pre strelbu\n2 - podvadzanie (pozriet vsetky lode)\n3 - ukoncit hru\n\n"); menu = getch(); if(menu == 49) { mojastrelba(pole, pompole, m, n); if(vyhra(pole, pompole, m, n) == 1) { system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); vypis(pompole, m, n); printf("Vyhral si!\n"); system("PAUSE"); return 0; } if(vyhra(pole, pompole, m, n) == 2) { system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); vypis(pompole, m, n); printf("Prehral si!\n"); system("PAUSE"); return 0; } strelba(pole, pompole, m, n); } if(menu == 50) { system("cls"); vypis(pompole, m, n); printf("Stlac lubovolnu klavesu."); getch(); } if(menu == 51) { break; } }
system("PAUSE"); return 0; }
void mojvypis(char pole[100][100], int m, int n) { int i, j; for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { if(pole[i][j] == 'P') printf("%c",'*'); else printf("%c",pole[i][j]); } if(j=n) { printf("\n"); } } printf("\n"); }
void vypis(char pompole[100][100], int m, int n) { int i, j; printf("More protihraca:\n\n"); for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { printf("%c",pompole[i][j]); } if(j=n) { printf("\n"); } } printf("\n"); }
void zadajlode(char pole[100][100], int m, int n) { int i=1, sx, sy; while(i<5) { system("cls"); printf("More:\n\n"); mojvypis(pole, m, n); printf("Zadaj lodku c. %i\n----------------\nZadaj riadok: ", i); scanf("%i", &sx); printf("Zadaj stlpec: "); scanf("%i", &sy); if(pole[sx][sy] != 'H' && sx < m && sy < n) { pole[sx][sy] = 'H'; i++; } else { printf("\nChyba, zadaj udaj znova!"); sleep(500); } system("cls"); } }
void zadajlodep(char pole[100][100], char pompole[100][100], int m, int n) { int i=0, sx, sy, nahodne; srand(time(NULL)); while(i<4) { nahodne = rand(); sx = (nahodne % (m)) + 0; nahodne = rand(); sy = (nahodne % (n)) + 0; if(pompole[sx][sy]!='P' && pole[sx][sy]!='H') { pompole[sx][sy]=80; i++; } } }
void mojastrelba(char pole[100][100], char pompole[100][100], int m, int n) { int i=0, sx, sy, nahodne; printf("Zadaj riadok: "); scanf("%i", &sx); printf("Zadaj stlpec: "); scanf("%i", &sy); if(pompole[sx][sy]=='P') { printf("Zasah.\n"); pole[sx][sy]=88; pompole[sx][sy]=90; sleep(500); system("cls"); vyhra(pole, pompole, m, n); mojvypis(pole, m, n); } else if (pole[sx][sy]=='H') { printf("\nNemozes strielat na vlastnu lod. Skus to znova!\n"); sleep(500); system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); mojastrelba(pole, pompole, m, n); } else if (pole[sx][sy]=='X') { printf("\nSem si uz strielal. Skus to znova!\n"); sleep(500); system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); mojastrelba(pole, pompole, m, n); } else { printf("\nBez zasahu.\n"); pole[sx][sy]=88; sleep(500); system("cls"); mojvypis(pole, m, n); } }
int strelba(char pole[100][100], char pompole[100][100], int m, int n) { int sx, sy, nahodne; srand(time(NULL)); nahodne = rand(); sx = (nahodne % (m)) + 0; nahodne = rand(); sy = (nahodne % (n)) + 0; if(pole[sx][sy]=='H') { system("cls"); printf("Protihrac zasiahol tvoju lod.\n"); pompole[sx][sy]=88; pole[sx][sy]=90; if(vyhra(pole, pompole, m, n) == 1) { system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); vypis(pompole, m, n); printf("Vyhral si!\n"); system("PAUSE"); return 0; } if(vyhra(pole, pompole, m, n) == 2) { system("cls"); printf("Tvoje more:\n\n"); mojvypis(pole, m, n); vypis(pompole, m, n); printf("Prehral si!\n"); system("PAUSE"); return 0; } sleep(2000); system("cls"); } else if (pompole[sx][sy]=='P' || pompole[sx][sy]=='X' || pompole[sx][sy]=='Z') { system("cls"); printf("Protihrac rozmysla..."); strelba(pole, pompole, m, n); } else { system("cls"); printf("Pocitac netrafil.\n"); sleep(2000); pompole[sx][sy]=88; } }
int vyhra(char pole[100][100], char pompole[100][100], int m, int n) { int i, j, h=0, p=0; for(i = 0 ; i < m; i++) { for(j = 0; j < n; j++) { if(pompole[i][j]=='Z') { h++; } if(pole[i][j]=='Z') { p++; } } } if(h==4) { return 1; } if(p==4) { return 2; } }
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS |
|
Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
|