Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*• Napisati program na programskom jeziku C koji
- učita broj vrsta i broj kolona i potom učita
- matricu tih dimenzija. Program potom učita broj
- kolone koju treba izbaciti i izbacuje tu kolonu iz
- matrice. Zatim čita redni broj vrste na koji umeće
- vrstu koju će učitati sa standardnog ulaza.
- • Izbacivanje kolone iz matrice podrazumeva:
- – pomeranje elemenata u svim vrstama matrice za jedno mesto, od
- odgovarajuće pozicije kolone koja se izbacuje
- – realociranje svih vrsta i smanjivanje veličine za jedan
- • Ubacivanje vrste u matricu podrazumeva:
- – realociranje niza pokazivača na vrste i povećanje za jedan
- – pomeranje pokazivača u nizu od odgovarajućeg mesta za ubacivanje
- nove vrste
- – alociranje prostora za novu vrstu*/
- #include<stdlib.h>
- #include<stdio.h>
- void main(){
- unsigned int **m, **novo_m;
- int M, N, i, j, k;
- scanf("%d %d", &M, &N);
- /*potrebno je napisati i provere o uspesnosti alokacije*/
- m = malloc(M * sizeof(unsigned int*));
- for (j = 0; j < M; j++){
- m[j] = malloc( N * sizeof(unsigned int) );
- for (i = 0; i < N; i++) scanf("%u", &m[j][i] );
- }
- printf("Unesite broj kolone koju izbacujete: ");
- scanf("%d", &k);
- if ( k >= 0 && k < N) {
- for (j = 0; j < M; j++){
- int *tmp;
- for (i = k+1; i < N; i++) m[j][i-1] = m[j][i];
- tmp = realloc( m[j], (N-1) * sizeof(unsigned int));
- if (tmp == NULL) {
- printf(“Greska u alokaciji!\n”);
- exit(1);
- } else m[j] = tmp;
- }
- N--;
- }
- for (j = 0; j < M; j++){
- for (i = 0; i < N; i++) printf("%d ",m[j][i]);
- printf("\n");
- }
- printf("\n\n");
- printf("Unesite redni broj na koji umecete vrstu: ");
- scanf("%d", &k);
- if ( k >= 0 && k < M) {
- int *tmp;
- tmp = realloc( m, (M+1) * sizeof(unsigned int*) );
- if(tmp == NULL ) {
- printf(“Greska u alokaciji!\n”);
- exit(1);
- } else m = tmp;
- M++;
- for( j = M-1; j > k; j--) m[j] = m[j-1];
- m[k] = malloc( N * sizeof(unsigned int) );
- for( i = 0; i < N; i++) scanf("%u", &m[k][i]);
- }
- for (j = 0; j < M; j++){
- for (i = 0; i < N; i++) printf("%u ",m[j][i]);
- free(m[j]);
- printf("\n");
- }
- free(m);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement