Professional Documents
Culture Documents
1. Направити програм који за унети низ (са тастатуре) рачуна збир тих елемената, при чему се прво уноси
број елемената у низу, а затим се уносе ти елементи.
#include <stdio.h>
#include<stdlib.h>
void main() {
int *pa, n, i, s;
// duzina niza
printf("Duzina niza : ");
scanf("%d", &n);
if (n < 1)
exit(1);
printf("suma=%d\n", s);
2. Направити програм који унети низ (са тастатуре) исписује у обрнутом поретку, при чему се прво уноси
број елемената (који није унапред познат нити ограничен) у низу, а затим се уносе елементи.
#include <stdio.h>
#include <stdlib.h>
void main() {
int n;
int i;
int *a;
printf("Unesi broj clanova niza : ");
scanf("%d", &n);
/* Kao da smo mogli da deklarisemo
int a[n];
Alocira se n mesta za podatke tipa int.
Funkcija malloc vraca vrednost tipa void*
tako da vrsimo kastovanje.
*/
a = (int*)malloc(n*sizeof(int));
/* Oslobadjamo memoriju*/
free(a);
}
3. Програм демонстрира да функција сalloc иницијализује садржај меморије на 0, док функција malloc не.
#include <stdio.h>
#include <stdlib.h>
void main(){
int *m, *c, i, n;
printf("Unesi broj clanova niza : ");
scanf("%d", &n);
if (m == NULL) {
printf("Greska prilikom alokacije memorije!\n");
exit(1);
}
if (c == NULL) {
printf("Greska prilikom alokacije memorije!\n");
free(m);
exit(1);
}
/*Odstampace se nule*/
for (i = 0; i<n; i++)
printf("c[%d] = %d\n", i, c[i]);
#include <stdio.h>
#include <stdlib.h>
int main(){
int m, n;
int i, j;
/* Primetimo da nizovi int-ova koji se alociraju nisu morali biti jednakih dimenzija
(ne moraju svi biti duzine n, kao sto je ovde receno). Ovo moze da bude
korisno, ako znamo da ce u nekoj vrsti biti korisceno samo nekoliko prvih elemenata,
tada mozemo alocirati manje za tu vrstu, i tako ustedeti prostor.
*/
/* Ispis matrice */
for(i = 0; i < m ; i++){
for(j = 0; j < n; j++)
printf("%3d ", p[i][j]);
putchar('\n');
}
/* Dealokacija se sastoji u brisanju svih vrsta, nakon cega se obrise i niz pokazivaca
(dakle, dealokacija ide u suprotnom redosledu od redosleda alokacije):
*/