Tema: Re: Segmentation fault
Autorius: Vilius Jakas
Data: 2010-11-25 16:59:42
On 11/25/2010 04:55 PM, Jornada Del Muerto wrote:
> O cia kokia C ? gal dosine kokia ir islendi per segmento dydi ar kazkas tokio...
>
>
> "Vilius Jakas"<vilius@anet.lt>  wrote in message news:iclt82$nju$1@trimpas.omnitel.net...
>> 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
>>
Taip, dosinė(iš terminalo leidžiu) Supratau klaidą
 >> 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
o turėtu būti
 >> for(i=0;i<N;i++){
 >> sum=sum+(Pi[S-1]); //prideda pinigus
 >> if(sum>max)max=sum;
 >> Pi[S-1]=0; //panaikina laukelio reiksme
 >> S=Ti[S-1]; //sekantis laukelis

dėl tos pačios masyvo numeravimo savybės
3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser