[so] [tema3] Problema checker

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Mon Apr 11 22:01:45 EEST 2011


On 04/11/2011 07:06 PM, Grigore Silviu Cătălin wrote:
> 
>> for (i = 0; i < num_frames; i++) {
>> 	for (j = 0; j < num_frames; j++) {
>> 		w_size_t offset = i * p_sz + offset_array[j];
>> 		tmp = read_byte_from_file(map.ram_handle, offset);
>> 		if (tmp == MAGIC)
>> 			match_count++;
>> 	}
>> }
> 
>    O sa incerc sa fiu mai clar. Sa presupunem ca avem offset[0] = offset[1].

Acum m-am prins. Merci de răbdare.

> Cred ca se poate rezolva foarte simplu cu un
>     if (!(i != j && offset_array[i] == offset_array[j])) dupa al
> doilea for.

Dacă offset[1] == offset[2], condiția de sus nu va verifica niciodată
nici unul dintre cele două cazuri. Trebuie să fie if (!(i > j && ...)).
Am actualizat corespunzător testul "mai ciobănește". La primul match dă
break :-)

Răzvan


More information about the so mailing list