Tema: Segmentation fault
Autorius: Vilius Jakas
Data: 2010-11-25 16:52:50
Sveiki. Band=iau spresti IT olimpiados uzdavinius ir su tam tikrais 
testais gaunu arba blogą atsakymą arba segmentation fault

Štai kodas

#include <stdio.h>

int main(){

     int Pi[100],Ti[100], N, S,i,sum=0,max=0;
     FILE *in, *out;
     in=fopen("keliautojas-vyr.in","r");
     out=fopen("keliautojas-vyr.out","w");


//Nuskaitymas
fscanf(in,"%d %d",&N,&S);
for(i=0;i<N;i++)
     fscanf(in,"%d %d",&Pi[i],&Ti[i]);
  for(i=0;i<N;i++)
   printf("%d %d\n",Pi[i],Ti[i]);
//zaidziam
S=S-1; //nes masyve skaiciai pradedami nuliu

for(i=0;i<N;i++){
sum=sum+(Pi[S]); //prideda pinigus
if(sum>max)max=sum;
Pi[S]=0; //panaikina laukelio reiksme
S=Ti[S]; //sekantis laukelis
}

//fprintf(out,"%d\n",sum);

printf("suma %d \n",sum);
  //for(i=0;i<N;i++)
  // printf("%d %d\n",Pi[i],Ti[i]);

getchar();
getchar();
     return 0;
}

O štai čia keliautojas-vyr.in su kuriuo gaunu seg fault

5 3
2 5
1 1
-7 5
-4 2
2 4