Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 128 ] Choď na stránku: predchádzajúca 1, 2, 3, 4, 5 ďalšia
AutorSpráva
Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 09.09.07
Prihlásený: 15.02.11
Príspevky: 24
Témy: 2
Bydlisko: bratislava
Príspevok NapísalOffline : 18.11.2007 12:11

po tvojej oprave to neslo. nemozem dat 2 premenne do vsetkychh 3 poli cize terajsi kod vyzera:
Kód:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int i,j,k,l,m,n;
    int pole1[4][4];
   int pole2[4][4];
   int pole3[4][4];
    for(i = 0;i<4;i++)
    {
        printf("\nZadajde 4 cisla prvej matice do %d.riadku\n",i+1);
        for(j = 0;j<4;j++)
        {
            printf("\nZadajde %d.cislo.",j+1);
            scanf("%d",&pole1[j][i]);
        }
    };
    printf("\n\nVytvorena matica: \n");
    for(i = 0;i<4;i++)
    {
        for(j = 0;j<4;j++)
        {
               printf("%d ",pole1[j][i]);
        };
        printf("\n");
    };
   for(k= 0;k<4;k++)
    {
        printf("\nZadajde 4 cisla druhej matice do %d.riadku\n",k+1);
        for(l = 0;l<4;l++)
        {
            printf("\nZadajde %d.cislo.",l+1);
            scanf("%d",&pole1[k][l]);
        }
    };
    printf("\n\nVytvorena matica: \n");
    for(k = 0;k<4;k++)
    {
        for(l = 0;l<4;l++)
        {
            printf("%d ",pole1[k][l]);
      }
      printf("\n");
   };  printf("scitana matica: \n");       
   for(m=0; m<4; m++)
   {
      for(n=0; n<4; n++)
      {
         pole3[m][n] = ((pole1[i][j]) + (pole2[k][l]));
         printf("%d ",pole3[m][n]);
      }
         printf("\n");    
   };
    system("pause");
}


dobre je to ze uz mi ukazuje aj vyslednu maticu. ale je zle scitana. 1+3=5


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 18.11.2007 12:40

tomuto nerozumiem: nemozem dat 2 premenne do vsetkychh 3 poli

a preco si tam zasa dal:
pole3[m][n] = ((pole1[i][j]) + (pole2[k][l]));

a nie toto

pole3[m][n] = ((pole1[m][n]) + (pole2[m][n]));

???


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 09.09.07
Prihlásený: 15.02.11
Príspevky: 24
Témy: 2
Bydlisko: bratislava
Príspevok NapísalOffline : 18.11.2007 14:00

sento píše:
tomuto nerozumiem: nemozem dat 2 premenne do vsetkychh 3 poli

a preco si tam zasa dal:
pole3[m][n] = ((pole1[i][j]) + (pole2[k][l]));

a nie toto

pole3[m][n] = ((pole1[m][n]) + (pole2[m][n]));

???


pretoze mi to vyhodi maticu 4x4 a na kazdom mieste su tieto cisla: -858993459


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 18.11.2007 14:20

chyba je asi tuto:
Kód:
   for(k= 0;k<4;k++)
    {
        printf("\nZadajde 4 cisla druhej matice do %d.riadku\n",k+1);
        for(l = 0;l<4;l++)
        {
            printf("\nZadajde %d.cislo.",l+1);
            scanf("%d",&pole1[k][l]);
        }
    };
    printf("\n\nVytvorena matica: \n");
    for(k = 0;k<4;k++)
    {
        for(l = 0;l<4;l++)
        {
            printf("%d ",pole1[k][l]);
      }
      printf("\n");
   }; 


... omylom to davas do pole1 a ma tam byt pole2


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 09.09.07
Prihlásený: 15.02.11
Príspevky: 24
Témy: 2
Bydlisko: bratislava
Príspevok NapísalOffline : 18.11.2007 14:40

LOL kurna dik ! na to by som asi nikdy neprisiel ze tam mam taku chybu. dakujem velmi pekne uz to funguje ako ma.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 18.11.2007 14:43

ak este mozem poradit, naucte sa pouzivat DEBUGGER, potom si to krokujte a vypisujte premenne, zistite, kde sa to meni, kde je chyba...


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233
Bydlisko: Dubnica nad...
Príspevok Napísal autor témyOffline : 18.11.2007 17:01

kde je tu chyba? ked mi to nefunguje dobre:
Kód:
#include <stdio.h>
#include<stdlib.h>

int prevod(int N, int z)  //funkcia
{
   int zv;            //zvisok
   int prevod=0;    //cislo v novej sustave
   int pom=1;       //zabezpeci ze dany vysledok po celociselnom deleni zapise vzdy pred predchadzajuci vysledok...

   do
   {
    prevod = prevod + pom*(N%z);
    N /= z;
    pom *= 10;
   }

   while(N>0);

   return prevod;
}
 
int main(void)
{
    int N, z,prevod;
    printf("========================\n");
    printf("= PREVOD CELYCH CISIEL =\n");
    printf("========================\n\n");
   
    printf("Zadaj cislo v desiatkovej sustave:\n");
    scanf("%d",&N); //cislo v desiatkovej sustave
    while (N<=0)
        {
        printf("\nCISLO NIEJE V DESIATKOVEJ SUSTAVE !!!\n");
        printf("Znovu zadaj cislo v desiatkovej sustave:\n\a\a\a");
        scanf("%d",&N); //cislo v desiatkovej sustave
        }

    printf("\nZadaj novu sustavu do ktorej budeme prevadzat od 2 do 10:\n");
    scanf("%d",&z); //nova sustava
   
    while (z<2)
        {
        printf("\nNOVA SUSTAVA NIEJE OD 2 DO 10 !!!\n");
        printf("Znovu zadaj sustavu do ktorej budeme prevadzat:\n\a\a\a");
        scanf("%d",&z); //nova sustava
        }
       
    while (z>10)
        {
        printf("\nNOVA SUSTAVA NIEJE OD 2 DO 10 !!!\n");
        printf("Znovu zadaj sustavu do ktorej budeme prevadzat:\n\a\a\a");
        scanf("%d",&z); //nova sustava
        }
   
         
     
    printf("\ncislo %d v sustave so zakladom %d = %d\n\n", N, z, prevod ); //vysledok
    system("pause");
    return 0;
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 18.11.2007 17:46

oprav si tieto 2 riadky:

Kód:
int main(void)
{
    int N, z; // <<< TENTO
.
.
.
.
 printf("\ncislo %d v sustave so zakladom %d = %d\n\n", N, z, prevod(N,z) ); // <<< TENTO
    system("pause");
    return 0;
}


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233
Bydlisko: Dubnica nad...
Príspevok Napísal autor témyOffline : 19.11.2007 19:37

dik, akurat som si vsimol ze aj v zadani som mal napisane ze do printf som mal zadat prevod(N,z) no nic som zmatkar to je asi tym ze mam nato malo vacu a este musim spravit este jedno zadanie z maticami...:(


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233
Bydlisko: Dubnica nad...
Príspevok Napísal autor témyOffline : 22.11.2007 17:24

Takze mam taky problem mal som zadanie:
Program nacita rozmery matice (r a s), potom sa nacita matica s rozmermi r x s (rozmery nebudu vacsie ako 50).
Vytvorte funkciu SkumajMaticu, ktora zisti pocet parnych a neparnych prvkov matice. Ak je parnych prvkovviac ako neparnych funkcia vrati 1, v opacnom pripade vrati -1. Ak je parnych a neparnych prvkov rovnaky pocet, funkcia vrati 0.
Specifikacia funkcie:
Kód:
int SkumajMaticu(int r, int s, int M)

Poznamka:
- zistit pocet parnych a neparnych prvkov
- funkcia vrati hodnotu -1/ 0/ 1 podla zadania
- vo funkcii skumaj maticu nenacitavajte ziadne udaje. Vsetky udeje sa nacitaju v hlavnom programe main.

Ja som vytvoril toto ale s chybami, dokaze mi to niekdo opravit ??:

Kód:
#include <stdio.h>
#include<stdlib.h>

int SkumajMaticu(int r, int s, int M)
{
   int parne=0;
   int neparne=0;
   int pp;

   while(M%2==0)
  {
   parne=parne+1;
   else
   neparne=neparne+1;
  }
 
   while(parne=neparne)
  {
     pp=0;
  else
     
      while(parne>neparne)
     {
       pp=parne;
     else
       pp=neparne;
     }
  }

   return pp;
}

int main()
{
    int r; // riadok
    int s; // stlpec
    int i; // pocet riadkov
    int j; // pocet stlpcov
    int M[50][50]; // matica
    int pp; //
   
    printf("=========================\n");
    printf("= POLIA = SKUMAJ MATICU =\n");
    printf("=========================\n\n");
   
    printf("Zadaj pocet riadkov matice:\n");
    scanf ("%d",&r); // riadok
    printf("\nZadaj pocet stlpcov matice:\n");
    scanf ("%d",&s); // stlpec
   
    while (r*s>50)
    {
    printf("\n!!! ROZMER MATICE JE VACSI AKO 50 !!!\a\a\a\n");
    printf("\nZadaj NOVY pocet riadkov matice:\n");
    scanf ("%d",&r); // riadok
    printf("\nZadaj NOVY pocet stlpcov matice:\n");
    scanf ("%d",&s); // stlpec
    }
   
    for(i=0; i<r; i++) //nacitanie matice
    for(j=0; j<s; j++)
    {
    printf("M[%d][%d]=", i+1, j+1);
    scanf("%d",&M[i][j]);
    }
   
    printf("%d",pp);
    system("pause");
    return 0;
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 22.11.2007 19:10

Funkcia:
Kód:
int SkumajMaticu(int r, int s, int M)
Ti nebude fungovat;
nastuduj si rozdiely medzi if--while, ale o tom az neskor.
Nepochopil som vobec co je to za parameter int M;
nemalo by tam byt nahodou: int **M ???

Najprv si urob nacitanie a vypisanie povodnej matice v hlavnom programe main.
- po nacitani si ju vypis, a az potom sa mozes pustit do funkcie Skumaj...


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233
Bydlisko: Dubnica nad...
Príspevok Napísal autor témyOffline : 23.11.2007 17:51

if a while viem aky je medzi nimi ...:)


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233
Bydlisko: Dubnica nad...
Príspevok Napísal autor témyOffline : 24.11.2007 17:12

uz som to trochu prepracoval ale este stale mi nechce vyhodnotit nednotlive cleny matice... neviem ako to spracit..:( co mi tam chyba?

Kód:
#include <stdio.h>
#include<stdlib.h>

int SkumajMaticu(int r, int s, int A)
{
   int parne=0;
   int neparne=0;
   int pp,i,j;
   
     
   if(A[i][j]%2==0)
   parne=parne+1;
     else
   neparne=neparne+1;



   if(parne=neparne)
   pp=0;
   
   if(parne>neparne)
   pp=1;
     else
   pp=-1;
       

   return pp;
}

int main()
{
    int r; // riadok
    int s; // stlpec
    int i; // pocet riadkov
    int j; // pocet stlpcov
    int A[50][50]; // matica
    int pp=SkumajMaticu(r,s,A[50][50]);
   
    printf("=========================\n");
    printf("= POLIA = SKUMAJ MATICU =\n");
    printf("=========================\n\n");
   
    printf("Zadaj pocet riadkov matice:\t");
    scanf ("%d",&r); // riadok
    printf("\nZadaj pocet stlpcov matice:\t");
    scanf ("%d",&s); // stlpec
   
    while (r*s>50)
    {
    printf("\n!!! ROZMER MATICE JE VACSI AKO 50 !!!\a\a\a\n");
    printf("\nZadaj NOVY pocet riadkov matice:\t");
    scanf ("%d",&r); // riadok
    printf("\nZadaj NOVY pocet stlpcov matice:\t");
    scanf ("%d",&s); // stlpec
    }
   
    for(i=0; i<r; i++) //nacitanie matice
    for(j=0; j<s; j++)
    {
    printf("A[%d][%d]=", i+1, j+1);
    scanf("%d",&A[i][j]);
    }
   
    printf("\n%d\n\n",pp);
    system("pause");
    return 0;
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 24.11.2007 18:11

1) Volanie funkcie:
Kód:
int pp=SkumajMaticu(r,s...
musi byt az po nacitani pola, takze to presun na koniec pred prikaz: printf("\n%d\n\n",pp);

2) V takomto tvare: int pp=SkumajMaticu(r,s,A[50][50]); ten treti parameter je cislo int (50*50-ty prvok z matice), a Ty potrebujes odovzdat ako parameter nie len jeden prvok, ale cele pole A, a to urobis tak, ze odovzdas do funkcie adresu 1-veho prvku pola A[0][0], cize:
Kód:
int pp=SkumajMaticu(r,s,&(A[0][0]));


3) to ale znamena, ze funkcia SkumajMaticu musi byt deklarovana takto:
Kód:
int SkumajMaticu(int r, int s, int *A)
... t.j. 3-ti parameter je smernik na int.

4) Vo funkcii SkumajMaticu Ti zatial chyba cyklus, ktory by kontroloval obsah celej matice, takze tam pouzij 2x cyklus for raz pre i a raz pre j;

--- ak to vsetko urobis daj sem opraveny zdrojak, lebo prekladac Ti ho nebude chciet prelozit, konkretne A[ i][j] budes musiet prerobit asi takto: *A[50*i+j]

--- este sa skus naucit (zvyknut si na) to, ze parametre (v Tvojom pripade (int r, int s, int A)) vo funkciach (podprogramoch) su iba formalne, takze sa NEMUSIA zhodovat mena v hlavnom programe a v podprogramoch.


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 27.09.07
Prihlásený: 31.12.15
Príspevky: 646
Témy: 233
Bydlisko: Dubnica nad...
Príspevok Napísal autor témyOffline : 24.11.2007 19:15

takto si to myslel?, ale je tam este chyba v tom riadku:
Kód:
int pp=SkumajMaticu(r,s,A[50][50]);

nad:
Kód:
printf("\n%d\n\n",pp);


Kód:
#include <stdio.h>
#include<stdlib.h>

int SkumajMaticu(int r, int s, int A[50][50])
{
   int parne=0;
   int neparne=0;
   int pp,i,j;
     
   for(i=0; i<r; i++)
   for(j=0; j<s; j++)
   
   if(A[i][j]%2==0)
   parne=parne+1;
     else
   neparne=neparne+1;



   if(parne=neparne)
   pp=0;
   
   if(parne>neparne)
   pp=1;
     else
   pp=-1;
       

   return pp;
}

int main()
{
    int r; // riadok
    int s; // stlpec
    int i; // pocet riadkov
    int j; // pocet stlpcov
    int A[50][50]; // matica
   
   
    printf("=========================\n");
    printf("= POLIA = SKUMAJ MATICU =\n");
    printf("=========================\n\n");
   
    printf("Zadaj pocet riadkov matice:\t");
    scanf ("%d",&r); // riadok
    printf("\nZadaj pocet stlpcov matice:\t");
    scanf ("%d",&s); // stlpec
   
    while (r*s>50)
    {
    printf("\n!!! ROZMER MATICE JE VACSI AKO 50 !!!\a\a\a\n");
    printf("\nZadaj NOVY pocet riadkov matice:\t");
    scanf ("%d",&r); // riadok
    printf("\nZadaj NOVY pocet stlpcov matice:\t");
    scanf ("%d",&s); // stlpec
    }
   
    for(i=0; i<r; i++) //nacitanie matice
    for(j=0; j<s; j++)
    {
    printf("A[%d][%d]=", i+1, j+1);
    scanf("%d",&A[i][j]);
    }
   
    int pp=SkumajMaticu(r,s,A[50][50]);
   
    printf("\n%d\n\n",pp);
    system("pause");
    return 0;
}
[/code]


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 24.11.2007 19:34

Kód:
#include <stdio.h>
#include<stdlib.h>

int SkumajMaticu(int r, int s, int *A)
{
...
   for(i=0; i<r; i++)
     for(j=0; j<s; j++)
       if(*A[50*i+j]%2==0)
         parne=parne+1;
       else
         neparne=neparne+1;

...
}

int main()
{
...
    int A[50][50]; // matica
...   
    int pp=SkumajMaticu(r,s,&(A[0][0]) );
    printf("\n%d\n\n",pp);
...
}


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 09.09.07
Prihlásený: 15.02.11
Príspevky: 24
Témy: 2
Bydlisko: bratislava
Príspevok NapísalOffline : 25.11.2007 19:05

som tu opet.
do jednorozmerneho dynamickeho pola sa nacitaju prvky kt mam usporiadat vzostupne a zostupne. existije v C nejaka funkcia kt je vopred definovana a hned to vypise? ak nie tak prosim poradte ako na to


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 25.11.2007 19:14

... taka funkcia (na triedenie) priamo neexistuje;

1) .... nacitaj prvky do dynamickeho pola

( float *pole;
float *x;
x = malloc(float);
....
)

2) .... najdi si akykolvek vyhladavaci mechanizmus a aplikuj ho na prvky pola


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 09.09.07
Prihlásený: 15.02.11
Príspevky: 24
Témy: 2
Bydlisko: bratislava
Príspevok NapísalOffline : 25.11.2007 19:15

ved prave ten druhy bod neviem ako na nho


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 25.11.2007 19:22

"bublinive triedenie" (asi najprimitivnejsie):

ak mas N prvkov v poli:
a) - vezmes 1. a 2. prvok, ak 1>2, vymenis ich
b) - vezmes 2. a 3. prvok, ak 2>3, vymenis ich
c) atd az po N-1 a N

body a) b) c) opakujes (N-1) krat


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 09.09.07
Prihlásený: 15.02.11
Príspevky: 24
Témy: 2
Bydlisko: bratislava
Príspevok NapísalOffline : 25.11.2007 19:43

vobec netusim ako to napisat
tu je moja cast a dalej neviem ako to napisat
Kód:
#include <stdio.h>               
#include <stdlib.h>
#include <conio.h>
 
int main(void)
{
   int *pole, prvky, i;             
 
      printf("Zadaj pocet prvkov pola: ");           
      scanf("%d", &prvky);

 

printf("\n\n\n");
 
 

      pole = (int*) malloc(prvky * sizeof(int*));         


         for (i = 0; i < prvky; i++)               
         {
         pole[i] = (int) malloc(prvky * sizeof(int));         
            {
            printf("Zadaj %d prvok pola: ", i + 1);
            scanf("%d", &pole[i]);             
            }
         }
 
         
         
printf("\n");



         {
            printf("nase pole:\n\n");
         for (i = 0; i < prvky; i++)         
            {
            printf(" %d ", pole[i]);
            }
         printf("\n\n");
         }
         getch();
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 25.11.2007 19:53

tento riadok:
Kód:
pole[i] = (int) malloc(prvky * sizeof(int));
uplne vynechaj;

a triedenie zhruba takto:

Kód:
for (i=0; i<pocet-1; i++) // cyklus treba opakovat (N-1) krat
  for (int j=0; j<pocet-1; j++)
  { if(pole[j]>pole[j+1]
     { // tuto vymenis tie 2 prvky
     }
  }


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.11.07
Prihlásený: 10.01.09
Príspevky: 9
Témy: 2
Príspevok NapísalOffline : 25.11.2007 19:58

Prepáčte, že narúšam Vášu komunikáciu, ale chcel by som Vás poprosiť ?
Kde sa dá stiahnúť Turbo Pascal 6,0 v SK alebo CZ. Alebo ako môžem začať
so zvládnutím tohto jazyka??
Pomôžete začiatočníkový, ktorý chce začať s programovaním? Ďakujem!!!
budha7@gmail.com


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 25.11.2007 20:03

budha7 píše:
Kde sa dá stiahnúť Turbo Pascal 6,0...ka??
Pomôžete začiatočníkovi,...


Ja som Pascal nepouzival, snad niekto iny... (iba ak C, C++, C# ale aj co-to ine okrem Pascalu :( )


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.11.07
Prihlásený: 10.01.09
Príspevky: 9
Témy: 2
Príspevok NapísalOffline : 25.11.2007 20:14

Ďakujem! škoda!


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 18.07.07
Prihlásený: 20.02.10
Príspevky: 53
Témy: 9
Bydlisko: Trenčín - S...
Príspevok NapísalOffline : 26.11.2007 21:01

Bry den sa praje pani programatori. Mam jeden problem s ktorym si neviem dat rady tak skusim stastie tu.

Mam taketo zadanie:
Citácia:
Úlohou tohto zadania bude napísať program, ktorý bude analyzovať zdrojový kód jazyka C. Úlohou programu bude zistiť, koľko daný obsahuje zdrojový kód príkazov. Vieme, že v jazyku C každý príkaz končí bodkočiarkou.
Túto úlohu riešte pomocou funkcie int analyzujKodC(char nazovSuboru[]); Ako parameter bude reťazec, ktorý je vlastne názov súboru na HDD, ktorý chceme analyzovať. Tento súbor treba vo funkcii otvoriť, zanalyzovať a zatvoriť. Funkcia vráti počet príkazov v danom zdrojovom súbore.
Názov súboru nebudete načítavať z klávesnice, ale tento názov bude ako vstupný parameter programu (funkcie main). Ak sa bude Váš program volať zadanie3.exe, potom ten program spustíte nasledovne: „zadanie3.exe zdrojak.cpp“. V tomto prípade bude Váš program analyzovať súbor zdrojak.cpp (ak existuje). V prípade, že program spustíte bez vstupného parametra, tak bude analyzovať váš zdrojový súbor (zadanie3.cpp). V prípade, ak súbor neexistuje, vypíšte chybové hlásenie.
Pomôcky: pre spúšťanie programu s parametrami vyžijete verziu funkcie main:
int main(int argc, char* argv[])
Vzorový výstup programu: Analyzujem súbor : zdrojak.cpp Pocet príkazv v tomto súbore: 25


Telo tej funkcie viem spravit, to nie je problem nacitavat zo suboru znaky a pocitat ";", ale velke problemy mi robi otvorenie toho suboru, neviem co ma byt v maine a co v tej konkretnej funckcii, prose mam v tom otvarani a citani zo suborov gulas. Ak by mi sem niekto napisal cast kodu ktora to riesi bol by som strsne vdacny, to pocitanie si uz doriesim sam.







_________________
MB: Gigabyte GA M57 SLI S4 | P: Athlon 64 X2 5200+(Winsdor) | RAM: ADATA Extreme edition Vitesta 2x1024MB 800MHz | G: Saphire AMD Radeon HD 2600XT 256Mb DDR4 | HDD: Seagate BArracuda 160GB 8MB Cache | Z: Fortron Blue Storm 400W
"92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature"
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 26.11.2007 21:38

Kód:
analyzujKodC(char nazovSuboru[])
{
   int pocet_prikazov = 0;

   // tuto otvoris subor "nazovSuboru", spocitas bodkociarky a zavries ho

   return pocet_prikazov;
}

void main(int argc, char *argv[])
{
   // ak sa takto spusti program, argc obsahuje pocet argumentov (vratane samotneho programu)
   // argv[0] ... meno samotneho programu.exe
   // argv[1] ... 1. parameter za     program.exe par1 par2 ...
   // argv[2] ... 2. parameter za     program.exe par1 par2 ...

   char *meno_suboru;
   int pocet;

   meno_suboru = (char *)malloc(333);
   if(argc==1)
   { // program je spusteny bez parametra;
      meno_suboru = argv[0];
     // meno soboru je xyz.exe; t.j. treba nahradit exe za cpp !!!
      int len = 0;
      int znak = 'x';
      while(znak!=0)   // najdeme koniec retazca
      {
         len++;
         znak = meno_suboru[len];       
      }
      meno_suboru[len-3] = 'c';   // a prepiseme exe na cpp
      meno_suboru[len-2] = 'p';
      meno_suboru[len-1] = 'p';
   }
   else
   { // bol zadany parameter,
      meno_suboru = argv[1];
   }
   
   pocet = analyzujKodC(meno_suboru);

   printf("....%d....", pocet);
}


oukej ?


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 18.07.07
Prihlásený: 20.02.10
Príspevky: 53
Témy: 9
Bydlisko: Trenčín - S...
Príspevok NapísalOffline : 27.11.2007 22:19

fuuha diki je to super spravene, dokonca aj to osetrenie exe hmm to som necakal. Ale nerozumiem tomuto riadku:

Citácia:
meno_suboru = (char *)malloc(333)







_________________
MB: Gigabyte GA M57 SLI S4 | P: Athlon 64 X2 5200+(Winsdor) | RAM: ADATA Extreme edition Vitesta 2x1024MB 800MHz | G: Saphire AMD Radeon HD 2600XT 256Mb DDR4 | HDD: Seagate BArracuda 160GB 8MB Cache | Z: Fortron Blue Storm 400W
"92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature"
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 28.11.2007 8:44

Ospravedlnujem sa, ale ten prikaz mozes kludne vyhodit.
Povodne som myslel, ze do premennej meno_suboru (pole znakov) budem kopirovat meno suboru, ale nakoniec som to nepouzil.
Takze to alokovanie/rezervovanie pamate (malloc) na nazov suboru ani nie je potrebne.


Offline

Užívateľ
Užívateľ
lekcia v C++

Registrovaný: 18.07.07
Prihlásený: 20.02.10
Príspevky: 53
Témy: 9
Bydlisko: Trenčín - S...
Príspevok NapísalOffline : 28.11.2007 13:37

noo jasne, sice taky prikaz ece nepoznam ale sak mozno casom.. :lol: no strsne ti dakujem je to super spravene, som rad ze este existuju ochotny ludia na tomto svete(fore).







_________________
MB: Gigabyte GA M57 SLI S4 | P: Athlon 64 X2 5200+(Winsdor) | RAM: ADATA Extreme edition Vitesta 2x1024MB 800MHz | G: Saphire AMD Radeon HD 2600XT 256Mb DDR4 | HDD: Seagate BArracuda 160GB 8MB Cache | Z: Fortron Blue Storm 400W
"92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature"
Odpovedať na tému [ Príspevkov: 128 ] Choď na stránku: predchádzajúca 1, 2, 3, 4, 5 ďalšia


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Mám sa učiť C ++/objective C/ C#?

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

5

722

08.07.2014 20:40

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Kúpim

0

405

13.05.2014 18:16

expresado Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rozdiel medzi Borland 3.1 C++ vs Net. C++

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

4

566

20.07.2010 12:54

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladam hracov na C&C Generals Zero Hour

v Počítačové hry

10

1243

07.03.2007 19:22

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Naučte se C++ za 21 dní + C++Builder 6

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

18

2404

21.05.2010 21:08

Wpegb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka práce

0

1115

10.05.2016 14:59

evolvsys Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Čo mi treba na programovanie v C/C++

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

17

1139

25.09.2011 18:14

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky je rozdiel medzi C++ a Visual C++ ?

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

8

1952

19.02.2011 22:46

vendo2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka práce

1

543

24.10.2016 15:28

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android)

v Vymením a darujem

0

421

01.04.2019 11:20

tomasteicher Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C/C++ problém so súbormi a hodnotami

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

2

302

09.12.2012 10:43

nBXXL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C# alebo C++ appka/program na výpočty

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

1

368

20.03.2015 22:36

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako nastavit grafikuv AMD catalyst c.c.

v ATI/AMD grafické karty

17

1476

26.12.2013 11:38

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C - Ako prekompilovať .c súbor do .exe?

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

7

551

02.11.2012 18:47

MasterMatoSK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program na projekt (C#, C++, pascal, java)

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

2

823

12.03.2009 12:08

Svjatogor Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C# alebo C++ , ktore knizky na ucenie?

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

20

1784

12.02.2011 0:12

The Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra