P_091 #include int main() { // Prijava varijabli int u = 3, v; int *pu, *pv; // pokazivaci na podatke u i v // Adresa podatka 'u' u memoriji racunala pu = &u; // Pridruzivanje v = *pu; // Adresa podatka 'v' u memoriji racunala pv = &v; // Ispis rezultata printf ("\n u = %d \t &u = %d \t pu = %d \t *pu = %d", u, &u, pu, *pu); printf ("\n v = %d \t &v = %X \t pv = %X \t *pv = %d", v, &v, pv, *pv); printf ("\n Velicina podatka pokazivaca = %d byte", sizeof(pu)); printf ("\n adresa pokazivaca = %x ", &pu); return 0; } ------------------------------------------------------------------------------------------- P_092 #include // Prototipovi funkcija void Funkcija1 ( int, int ); void Funkcija2 ( int *, int * ); // Glavna funkcija int main() { // Prijava varijabli int u = 1; int v = 3; // Poziv Funkcija1 printf ( "\nPrije poziva Funkcija1: u = %d \t v = %d", u, v ); Funkcija1 ( u, v ); printf ( "\nNakon poziva Funkcija1: u = %d \t v = %d", u, v ); // Poziv Funkcija2 printf ( "\n\nPrije poziva Funkcija2: u = %d \t v = %d", u, v ); Funkcija2 ( &u, &v ); printf ( "\nNakon poziva Funkcija2: u = %d \t v = %d", u, v ); return 0; } // Funkcija1 void Funkcija1 ( int u, int v ) { u = 0; v = 0; printf ( "\nUnutar Funkcija1: u = %d \t v = %d", u, v ); return; } // Funkcija2 void Funkcija2 ( int *pu, int *pv ) { *pu = 0; *pv = 0; printf ( "\nUnutar Funkcija2: *pu = %d \t *pv = %d", *pu, *pv ); return; } ------------------------------------------------------------------------------------------- P_093 #include #include // Prototip funkcije void Analiza ( char [], int *, int *, int *, int * ); // Glavna funkcija int main() { // Prijava varijabli char Redak[80]; // Redak teksta koji ce se analizirati int Samoglasnici = 0; // Broj samoglasnika int Suglasnici = 0; // Broj suglasnika int Znamenke = 0; // Broj znamenki int Ostalo = 0; // Broj ostalih znakova // Unos teksta puts ( "Upisite redak teksta:" ); gets ( Redak ); // Analiza teksta Analiza ( Redak, &Samoglasnici, &Suglasnici, &Znamenke, &Ostalo ); // Ispis rezultata printf ( "\n Broj samoglasnika: \t %d", Samoglasnici ); printf ( "\n Broj suglasnika: \t %d", Suglasnici ); printf ( "\n Broj znamenki: \t %d", Znamenke ); printf ( "\n Broj ostalih znakova: \t %d", Ostalo ); return 0; } // Funkcija Analiza void Analiza ( char Redak[], int *Sa, int *Su, int *Z, int *O ) { // Prijava podataka char C; // Tiskani znak koji odgovara znaku Redak[i] int i = 0; // Brojac // Ophod po znakovima (uz pretvaranje u tiskana slova) while ( ( C = toupper(Redak[i])) != '\0' ) { if ( C == 'A' || C == 'E' || C == 'I' || C == 'O' || C == 'U' ) ++ *Sa; else if ( C >= 'A' && C <= 'Z' ) ++ *Su; else if ( C >= '0' && C <= '9' ) ++ *Z; else ++ *O; i++; } } ------------------------------------------------------------------------------------------- P_094 #include #include // Prototip funkcije void P_Slaganje ( int, int * ); // Glavna funkcija int main() { // Prijava varijabli int i, n; // Brojac; broj clanova polja int *x; // Pokazivac na polje x // Unos podataka printf ("Koliko cete brojeva upisati? "); scanf ("%d", &n); puts (" "); // Osiguravanje memorijskog prostora za polje x = (int *) malloc ( n*sizeof(int) ); // Unos clanova polja for (i = 0;i < n; i++) { printf ("i = %d x = ", i+1); scanf ("%d", x+i); // Moze i &x[i] } // Slaganje po rastucim vrijednostima P_Slaganje ( n, x ); // Ispis slozenoga niza printf ("\n\nIspis slozenoga niza po rastucim vrijednostima\n\n"); for (i = 0;i < n; i++) printf ("i = %d x = %d \n", i+1, *(x+i)); // Moze i x[i] return 0; } // Funkcija za slaganje po rastucim vrijednostima void P_Slaganje ( int n, int *x ) { // Prijava varijabli int i; // Brojac int j; // Indeks trenutno vazeceg clana polja int Temp; // Varijabla za privremenu pohranu // Slaganje for ( j=0; j #include // Konstanta #define IMAX 20 // Najveci broj redaka // Prototipovi funkcija void Mat_unos (int *[IMAX], int, int); void Mat_zbroj (int *[IMAX], int *[IMAX], int *[IMAX], int, int); // Glavna funkcija int main() { // Prijava varijabli int i, j; // Brojac redaka; brojac stupaca int ni, nj; // Broj redaka; broj stupaca int *a[IMAX], *b[IMAX], *c[IMAX]; // Pokazivaci na matrice // Unos podataka printf ("Koliko redaka? "); scanf ("%d", &ni); printf ("Koliko stupaca? "); scanf ("%d", &nj); // Zauzimanje potrebne memorije for ( i=0; i #include // Konstanta #define IMAX 20 // Najveci broj redaka // Prototipovi funkcija void Mat_unos (int **, int, int); void Mat_zbroj (int **, int **, int **, int, int); // Glavna funkcija int main() { // Prijava varijabli int i, j; // Brojac redaka; brojac stupaca int ni, nj; // Broj redaka; broj stupaca int **a, **b, **c; // Pokazivaci na matrice // Unos podataka printf ("Koliko redaka? "); scanf ("%d", &ni); printf ("Koliko stupaca? "); scanf ("%d", &nj); a=(int **) malloc(ni*sizeof(int *)); b=(int **) malloc(ni*sizeof(int *)); c=(int **) malloc(ni*sizeof(int *)); // Zauzimanje potrebne memorije for ( i=0; i