Programiranje Za programere i one koji to žele postati ... |
|
30.11.2016., 18:34
|
#1
|
Registrirani korisnik
Registracija: Mar 2016.
Postova: 18
|
Crashanje Dev c++
Poz, radim s pointerima i zanima me zašto ne radi ovaj kod
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int i,j;
int *p;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
*(p+i*5+j)=2j+1;
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
cout<<*(p+i*5+j);
}
cout<<endl;
}
return 0;
}
podebljanu liniju izbacuje kao pogrešku
|
|
|
30.11.2016., 20:10
|
#2
|
stuklo mi prste
Registracija: Sep 2016.
Postova: 770
|
pointer 'p' je neinicijalizaran, logično da se raspada...
Iole normalniji kompajler će ti to reći pri kompajliranju...
|
|
|
01.12.2016., 09:16
|
#3
|
stuklo mi prste
Registracija: Sep 2016.
Postova: 770
|
Btw, vezano uz "izbacuje kao grešku"... imaš syntax error koji nisam vidio na prvu... stavi neki operator između '2' i 'j'. To će se vjerojatno iskompajlirat, ali i dalje neće raditi.
|
|
|
02.12.2016., 14:30
|
#4
|
Registrirani korisnik
Registracija: Mar 2016.
Postova: 18
|
Zas bi trebo datpocetnu inicijalizaciju pointeru kad to I ovako radim u for petlji
Ovo sto se tice 2j, nisam ni primjetio sta sam napiso ali svjedno nece raditi jer sam na pocetku imao to.
Zadnje uređivanje KromHD : 02.12.2016. at 14:41.
|
|
|
02.12.2016., 16:37
|
#5
|
stuklo mi prste
Registracija: Sep 2016.
Postova: 770
|
Nisi inicijalizirao nigdje. Pišeš po invalidnoj adresi. Pročitaj neku knjigu prije prvih pokušaja programiranja, jer ćeš si time olakšat život.
|
|
|
02.12.2016., 20:57
|
#6
|
Registrirani korisnik
Registracija: Mar 2016.
Postova: 18
|
Quote:
volatile kaže:
Nisi inicijalizirao nigdje. Pišeš po invalidnoj adresi. Pročitaj neku knjigu prije prvih pokušaja programiranja, jer ćeš si time olakšat život.
|
Shvatio sam na što si mislio hvala. a dali mi mozes reci kojom formulom sa pokazivacima bi mogo ispisat ovo :
1 1 1 1 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1
|
|
|
03.12.2016., 13:11
|
#7
|
stuklo mi prste
Registracija: Sep 2016.
Postova: 770
|
Quote:
KromHD kaže:
Shvatio sam na što si mislio hvala. a dali mi mozes reci kojom formulom sa pokazivacima bi mogo ispisat ovo :
1 1 1 1 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1
|
Dodaj ovo:
Kod:
int p[] = { 1, 1, 1, 1, 1,
1, 0 ,0, 0, 1,
1, 0, 0, 0, 1,
1, 0, 0, 0, 1,
1, 1, 1, 1, 1 };
I makni prve dvije petlje.
Ne znam što točno želiš izvesti, ali ovo bi trebalo dati traženi output.
|
|
|
03.12.2016., 17:07
|
#8
|
Registrirani korisnik
Registracija: Mar 2016.
Postova: 18
|
Quote:
volatile kaže:
Dodaj ovo:
Kod:
int p[] = { 1, 1, 1, 1, 1,
1, 0 ,0, 0, 1,
1, 0, 0, 0, 1,
1, 0, 0, 0, 1,
1, 1, 1, 1, 1 };
I makni prve dvije petlje.
Ne znam što točno želiš izvesti, ali ovo bi trebalo dati traženi output.
|
Riješio sam to ovako :
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(i==1 or j==1 or j==N or i==N) *(p+i*N+j)=1;
else *(p+i*N+j)=0;
}
}
|
|
|
05.12.2016., 17:12
|
#9
|
stuklo mi prste
Registracija: Sep 2016.
Postova: 770
|
Ako ti je N = 5, a imaš mjesta za 25 integera, onda nije dobro :-)
|
|
|
07.12.2016., 09:55
|
#10
|
Registrirani korisnik
Registracija: Mar 2016.
Postova: 18
|
Quote:
volatile kaže:
Ako ti je N = 5, a imaš mjesta za 25 integera, onda nije dobro :-)
|
ispisuje kako treba bilo kojim N
|
|
|
|
Sva vremena su GMT +2. Trenutno vrijeme je: 09:00.
|
|
|
|