Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 30.11.2016., 18:34   #1
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
KromHD is offline  
Odgovori s citatom
Old 30.11.2016., 20:10   #2
pointer 'p' je neinicijalizaran, logično da se raspada...
Iole normalniji kompajler će ti to reći pri kompajliranju...
volatile is offline  
Odgovori s citatom
Old 01.12.2016., 09:16   #3
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.
volatile is offline  
Odgovori s citatom
Old 02.12.2016., 14:30   #4
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.
KromHD is offline  
Odgovori s citatom
Old 02.12.2016., 16:37   #5
Nisi inicijalizirao nigdje. Pišeš po invalidnoj adresi. Pročitaj neku knjigu prije prvih pokušaja programiranja, jer ćeš si time olakšat život.
volatile is offline  
Odgovori s citatom
Old 02.12.2016., 20:57   #6
Quote:
volatile kaže: Pogledaj post
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
KromHD is offline  
Odgovori s citatom
Old 03.12.2016., 13:11   #7
Quote:
KromHD kaže: Pogledaj post
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.
volatile is offline  
Odgovori s citatom
Old 03.12.2016., 17:07   #8
Quote:
volatile kaže: Pogledaj post
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;
}
}
KromHD is offline  
Odgovori s citatom
Old 05.12.2016., 17:12   #9
Ako ti je N = 5, a imaš mjesta za 25 integera, onda nije dobro :-)
volatile is offline  
Odgovori s citatom
Old 07.12.2016., 09:55   #10
Quote:
volatile kaže: Pogledaj post
Ako ti je N = 5, a imaš mjesta za 25 integera, onda nije dobro :-)
ispisuje kako treba bilo kojim N
KromHD is offline  
Odgovori s citatom
Odgovor



Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 09:00.