Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Neobicno?
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
mibo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 10. 2007. (14:52:50)
Postovi: (51)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 6 - 3
Lokacija: /var/tmp

PostPostano: 16:30 pet, 25. 4. 2008    Naslov: Neobicno? Citirajte i odgovorite

[code:1]double **ucitaj(int a, int b){
double **m;
int i, j;
if((m = (double **)calloc(b, sizeof(double *))) == NULL){
fprintf(stderr, ":-(\n");
exit(-1);
}

for(i = 0; i < b; i++){
if((m[i] = (double *)calloc(a, sizeof(double *))) == NULL){
fprintf(stderr, ":-(\n");
exit(-2);
}
}

for(i = 0; i < a; i++){
for(j = 0; j < b; j++){
printf("{%p}m[%d][%d]=", &m[j][i], j, i); scanf("%lf", &m[j][i]);
}
}

return m;
}

void ispisi(const double **m, int a, int b){
int i, j;
printf("\n");
for(i = 0; i < a; i++)
for(j = 0; j < b; j++)
printf("{%p}m[%d][%d]=%g\n", &m[j][i], j, i, m[j][i]);
}

int main(void){
double **mat;
int a, b, i;
printf("Unesi broj redaka: "); scanf("%d", &a);
printf("Unesi broj stupaca: "); scanf("%d", &b);

mat = ucitaj(a, b);
ispisi(mat, a, b);

/* ... ciscenje */

return 0;
}
[/code:1]

Upis:
[tt]Unesi broj redaka: 3
Unesi broj stupaca: 2
{0xba01d8}m[0][0]=1.1
{0xba01e8}m[1][0]=2.2
{0xba01e0}m[0][1]=3.3
{0xba01f0}m[1][1]=4.4
{0xba01e8}m[0][2]=5.5
{0xba01f8}m[1][2]=6.6[/tt]

Ispis:
[tt]{0xba01d8}m[0][0]=1.1
{0xba01e8}m[1][0]=5.5
{0xba01e0}m[0][1]=3.3
{0xba01f0}m[1][1]=7.55431e-313
{0xba01e8}m[0][2]=5.5
{0xba01f8}m[1][2]=6.72967e-320
[/tt]

[b]Pitanje:[/b]
Kako se promjenio sadržaj na adresi {0xba01e8} i {0xba01f0} i {0xba01f8} ? :grebgreb:
Kod:
double **ucitaj(int a, int b){
  double **m;
  int i, j;
  if((m = (double **)calloc(b, sizeof(double *))) == NULL){
    fprintf(stderr, ":-(\n");
    exit(-1);
  }

  for(i = 0; i < b; i++){
    if((m[i] = (double *)calloc(a, sizeof(double *))) == NULL){
      fprintf(stderr, ":-(\n");
      exit(-2);
    }
  }

  for(i = 0; i < a; i++){
    for(j = 0; j < b; j++){
      printf("{%p}m[%d][%d]=", &m[j][i], j, i); scanf("%lf", &m[j][i]);
    }
  }

  return m;
}

void ispisi(const double **m, int a, int b){
  int i, j;
  printf("\n");
  for(i = 0; i < a; i++)
    for(j = 0; j < b; j++)
      printf("{%p}m[%d][%d]=%g\n", &m[j][i], j, i, m[j][i]);
}

int main(void){
  double **mat;
  int a, b, i;
  printf("Unesi broj redaka:  "); scanf("%d", &a);
  printf("Unesi broj stupaca: "); scanf("%d", &b);

  mat = ucitaj(a, b);
  ispisi(mat, a, b);
 
  /* ... ciscenje */

  return 0;
}


Upis:
Unesi broj redaka: 3
Unesi broj stupaca: 2
{0xba01d8}m[0][0]=1.1
{0xba01e8}m[1][0]=2.2
{0xba01e0}m[0][1]=3.3
{0xba01f0}m[1][1]=4.4
{0xba01e8}m[0][2]=5.5
{0xba01f8}m[1][2]=6.6


Ispis:
{0xba01d8}m[0][0]=1.1
{0xba01e8}m[1][0]=5.5
{0xba01e0}m[0][1]=3.3
{0xba01f0}m[1][1]=7.55431e-313
{0xba01e8}m[0][2]=5.5
{0xba01f8}m[1][2]=6.72967e-320


Pitanje:
Kako se promjenio sadržaj na adresi {0xba01e8} i {0xba01f0} i {0xba01f8} ? Kotacici rade 100 na sat



_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH
George Orwell: 1984
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 17:11 pet, 25. 4. 2008    Naslov: Re: Neobicno? Citirajte i odgovorite

[quote="mibo"]double **ucitaj(int a, int b){
double **m;
int i, j;
if((m = (double **)calloc(b, sizeof(double *))) == NULL){
fprintf(stderr, ":-(\n");
exit(-1);
}

for(i = 0; i < b; i++){
if((m[i] = (double *)calloc(a, sizeof([color=red]double[/color]))) == NULL){
fprintf(stderr, ":-(\n");
exit(-2);
}
}

for(i = 0; i < a; i++){
for(j = 0; j < b; j++){
printf("{%p}m[%d][%d]=", &m[j][i], j, i); scanf("%lf", &m[j][i]);
}
}

return m;
}

void ispisi(const double **m, int a, int b){
int i, j;
printf("\n");
for(i = 0; i < a; i++)
for(j = 0; j < b; j++)
printf("{%p}m[%d][%d]=%g\n", &m[j][i], j, i, m[j][i]);
}

int main(void){
double **mat;
int a, b, i;
printf("Unesi broj redaka: "); scanf("%d", &a);
printf("Unesi broj stupaca: "); scanf("%d", &b);

mat = ucitaj(a, b);
ispisi(mat, a, b);

/* ... ciscenje */

return 0;
}
[/quote]
sizeof(double)!=sizeof(double*)
To je jedina greska koju ja vidim.
mibo (napisa):
double **ucitaj(int a, int b){
double **m;
int i, j;
if((m = (double **)calloc(b, sizeof(double *))) == NULL){
fprintf(stderr, "Sad\n");
exit(-1);
}

for(i = 0; i < b; i++){
if((m[i] = (double *)calloc(a, sizeof(double))) == NULL){
fprintf(stderr, "Sad\n");
exit(-2);
}
}

for(i = 0; i < a; i++){
for(j = 0; j < b; j++){
printf("{%p}m[%d][%d]=", &m[j][i], j, i); scanf("%lf", &m[j][i]);
}
}

return m;
}

void ispisi(const double **m, int a, int b){
int i, j;
printf("\n");
for(i = 0; i < a; i++)
for(j = 0; j < b; j++)
printf("{%p}m[%d][%d]=%g\n", &m[j][i], j, i, m[j][i]);
}

int main(void){
double **mat;
int a, b, i;
printf("Unesi broj redaka: "); scanf("%d", &a);
printf("Unesi broj stupaca: "); scanf("%d", &b);

mat = ucitaj(a, b);
ispisi(mat, a, b);

/* ... ciscenje */

return 0;
}

sizeof(double)!=sizeof(double*)
To je jedina greska koju ja vidim.



_________________
1 2 3 4
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ß
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 07. 2006. (15:29:06)
Postovi: (115)16
Spol: muško
Sarma = la pohva - posuda
41 = 46 - 5
Lokacija: Graveyard Mountain Home

PostPostano: 17:16 pet, 25. 4. 2008    Naslov: Re: Neobicno? Citirajte i odgovorite

[quote="mibo"]
[b]Pitanje:[/b]
Kako se promjenio sadržaj na adresi {0xba01e8} i {0xba01f0} i {0xba01f8} ? :grebgreb:[/quote]

Nemam pojma. Meni nije:
[code:1]irancic@skye:~/Desktop/test$ gcc program.c -o prog
program.c: In function ‘main’:
program.c:43: warning: passing argument 1 of ‘ispisi’ from incompatible pointer type
irancic@skye:~/Desktop/test$ ./prog
Unesi broj redaka: 3
Unesi broj stupaca: 2
{0x601030}m[0][0]=1.1
{0x601050}m[1][0]=2.2
{0x601038}m[0][1]=3.3
{0x601058}m[1][1]=4.4
{0x601040}m[0][2]=5.5
{0x601060}m[1][2]=6.6

{0x601030}m[0][0]=1.1
{0x601050}m[1][0]=2.2
{0x601038}m[0][1]=3.3
{0x601058}m[1][1]=4.4
{0x601040}m[0][2]=5.5
{0x601060}m[1][2]=6.6
[/code:1]

:?

I ne znam odakle ovaj warning jer se meni čini da je sve u redu s tipovima. Što si uključio gore, stdio & stdlib ?
mibo (napisa):

Pitanje:
Kako se promjenio sadržaj na adresi {0xba01e8} i {0xba01f0} i {0xba01f8} ? Kotacici rade 100 na sat


Nemam pojma. Meni nije:
Kod:
irancic@skye:~/Desktop/test$ gcc program.c -o prog
program.c: In function ‘main’:
program.c:43: warning: passing argument 1 of ‘ispisi’ from incompatible pointer type
irancic@skye:~/Desktop/test$ ./prog
Unesi broj redaka:  3
Unesi broj stupaca: 2
{0x601030}m[0][0]=1.1
{0x601050}m[1][0]=2.2
{0x601038}m[0][1]=3.3
{0x601058}m[1][1]=4.4
{0x601040}m[0][2]=5.5
{0x601060}m[1][2]=6.6

{0x601030}m[0][0]=1.1
{0x601050}m[1][0]=2.2
{0x601038}m[0][1]=3.3
{0x601058}m[1][1]=4.4
{0x601040}m[0][2]=5.5
{0x601060}m[1][2]=6.6


Confused

I ne znam odakle ovaj warning jer se meni čini da je sve u redu s tipovima. Što si uključio gore, stdio & stdlib ?



_________________
Devious movements in your eyes moved me from relief
Breath comes out white clouds with your lies
and filters through me
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
mibo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 10. 2007. (14:52:50)
Postovi: (51)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 6 - 3
Lokacija: /var/tmp

PostPostano: 17:20 pet, 25. 4. 2008    Naslov: Hvala Citirajte i odgovorite

Gore je
[code:1]#include <stdio.h>
#include <stdlib.h>
[/code:1]

@Mad Wilson: Nakon ispravke na koju si ukazao, sve je ok - Hvala ; iako mi i dalje nije jasan odgovor na prvotno pitanje :grebgreb:

[quote="ß"]I ne znam odakle ovaj warning jer se meni čini da je sve u redu s tipovima.[/quote]
@ß: Ni to mi nije jasno.
Gore je
Kod:
#include <stdio.h>
#include <stdlib.h>


@Mad Wilson: Nakon ispravke na koju si ukazao, sve je ok - Hvala ; iako mi i dalje nije jasan odgovor na prvotno pitanje Kotacici rade 100 na sat

ß (napisa):
I ne znam odakle ovaj warning jer se meni čini da je sve u redu s tipovima.

@ß: Ni to mi nije jasno.



_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH
George Orwell: 1984
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 19:06 pet, 25. 4. 2008    Naslov: Re: Hvala Citirajte i odgovorite

[quote="mibo"]@ß: Ni to mi nije jasno.[/quote]
[u]mat[/u] je [tt]double**[/tt] (u [b]main[/b]-u)
a [u]m[/u] je [tt][color=red]const[/color] double**[/tt] (u [b]ispisi[/b])
To nije isto.
mibo (napisa):
@ß: Ni to mi nije jasno.

mat je double** (u main-u)
a m je const double** (u ispisi)
To nije isto.



_________________
1 2 3 4
[Vrh]
Korisnički profil Pošaljite privatnu poruku
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 19:13 pet, 25. 4. 2008    Naslov: Re: Hvala Citirajte i odgovorite

[quote="Mad Wilson"]
[u]mat[/u] je [tt]double**[/tt] (u [b]main[/b]-u)
a [u]m[/u] je [tt][color=red]const[/color] double**[/tt] (u [b]ispisi[/b])
To nije isto.[/quote]
Nije isto, ali je savrseno OK [tt]double**[/tt] konvertirati u [tt]const double**[/tt]. Obrnuto bi bilo problematicno, ali ovako kako gore stoji ne vidim u cemu je problem.
Mad Wilson (napisa):

mat je double** (u main-u)
a m je const double** (u ispisi)
To nije isto.

Nije isto, ali je savrseno OK double** konvertirati u const double**. Obrnuto bi bilo problematicno, ali ovako kako gore stoji ne vidim u cemu je problem.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Mad Wilson
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 19:15 pet, 25. 4. 2008    Naslov: Re: Hvala Citirajte i odgovorite

[quote="mdoko"]Nije isto, ali je savrseno OK [tt]double**[/tt] konvertirati u [tt]const double**[/tt]. Obrnuto bi bilo problematicno, ali ovako kako gore stoji ne vidim u cemu je problem.[/quote]
Da, zato nije javio error nego samo warning. Iako jest cudno. Ali kad se makne const (ili se napravi cast) warning magicno nestaje...
Ne znam ni ja zasto, ali ocito mu to smeta.
mdoko (napisa):
Nije isto, ali je savrseno OK double** konvertirati u const double**. Obrnuto bi bilo problematicno, ali ovako kako gore stoji ne vidim u cemu je problem.

Da, zato nije javio error nego samo warning. Iako jest cudno. Ali kad se makne const (ili se napravi cast) warning magicno nestaje...
Ne znam ni ja zasto, ali ocito mu to smeta.



_________________
1 2 3 4
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan