[ Príspevkov: 3 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Pár programov v C

Registrovaný: 01.05.05
Príspevky: 13419
Témy: 1494 | 1494
Bydlisko: Bratislava
NapísalOffline : 15.12.2010 9:32 | Pár programov v C

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
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Pár programov v C

Registrovaný: 01.05.05
Príspevky: 13419
Témy: 1494 | 1494
Bydlisko: Bratislava
Napísal autor témyOffline : 15.12.2010 9:34 | Pár programov v C

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
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Pár programov v C

Registrovaný: 01.05.05
Príspevky: 13419
Témy: 1494 | 1494
Bydlisko: Bratislava
Napísal autor témyOffline : 26.11.2011 23:40 | Pár programov v C

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
 [ Príspevkov: 3 ] 


Pár programov v C



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

odinstalovanie programov

v Ostatné programy

5

3130

29.09.2007 22:30

Nexus

V tomto fóre nie sú ďalšie neprečítané témy.

vypnutie programov

v Operačné systémy Microsoft

4

422

30.04.2014 22:03

4040

V tomto fóre nie sú ďalšie neprečítané témy.

Vypadok programov

v TV

2

526

21.11.2011 19:22

juroo

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazanie programov

v Ostatné programy

1

1303

09.02.2014 10:56

Dadko

V tomto fóre nie sú ďalšie neprečítané témy.

Ukončovanie programov

v Ostatné programy

0

799

01.02.2007 22:58

ponpa

V tomto fóre nie sú ďalšie neprečítané témy.

Obnovenie programov

v Ostatné programy

2

921

17.11.2006 17:36

itsgoingd

V tomto fóre nie sú ďalšie neprečítané témy.

spustanie programov

v Operačné systémy Microsoft

0

366

19.11.2013 12:05

magulator

V tomto fóre nie sú ďalšie neprečítané témy.

preklad programov

v Ostatné programy

4

991

02.03.2008 19:18

haliernik10

V tomto fóre nie sú ďalšie neprečítané témy.

Skrytie programov

v Operačné systémy Microsoft

3

556

17.07.2011 19:49

bloodian

V tomto fóre nie sú ďalšie neprečítané témy.

Nespúštanie programov.

v Operačné systémy Microsoft

6

418

14.05.2023 20:09

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

Zbierka programov

v Assembler, C, C++, Pascal, Java

19

1622

24.10.2009 19:03

muro58

V tomto fóre nie sú ďalšie neprečítané témy.

Kompatibilita bezpecnostnych programov

v Antivíry a antispywary

7

412

16.01.2013 19:43

Spixy

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

+a-antivirovych programov

v Antivíry a antispywary

1

479

13.12.2009 18:40

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

Win7 sekanie programov

v Operačné systémy Microsoft

5

577

12.02.2011 17:44

demonatora

V tomto fóre nie sú ďalšie neprečítané témy.

Vymazavanie, odinstalovanie programov

v Ostatné programy

5

767

24.07.2011 0:03

luky

V tomto fóre nie sú ďalšie neprečítané témy.

Zoznam uzitocnych programov

v Benchmarky a diagnostické programy

1

1760

27.09.2009 0:55

ac.milan



© 2005 - 2025 PCforum, edited by JanoF