% PEng 8.12
% Läsa in heltal från fil, skriva ut det största och minsta heltalet
% tillsammans med raden i filen där det stod

clear

% Be användaren om ett infilnamn ända tills Matlab lyckas öppna filen
fid = -1;
while fid < 0
	% Be användaren om ett infilnamn
	filnamn = input('Skriv ett namn på en (text)fil med flyttal: ', 's');
	% Öppna filen för läsning
	fid = fopen(filnamn);
	% Ge felmeddelande
	if fid < 0
		disp('Filen existerar inte.')
	end
end

% Läs alla heltal från filen och håll reda på radnummer
heltal = [];
rad = [];
nuvarande_rad = 0;
% Så länge som det finns tal att läsa...
while ~feof(fid)
	
	% Läs en hel rad och spara i en sträng
	radstrang = fgetl(fid);
	
	% Läs heltal från strängen 
	nuvarande_heltal = sscanf(radstrang, '%i');
	heltal = [heltal; nuvarande_heltal];
	
	% Spara radens nummer
	nuvarande_rad = nuvarande_rad + 1;
	rad = [rad; nuvarande_rad*ones(size(nuvarande_heltal))];
end

% Stäng filen
fclose(fid);
	

% Hitta max och min
[maxval maxpos] = max(heltal);
[minval minpos] = min(heltal);

disp(['Största värde ', num2str(maxval), ' på rad ', num2str(rad(maxpos))])
disp(['Minsta värde ', num2str(minval), ' på rad ', num2str(rad(minpos))])