na obsah klávesové zkratky na hlavní stránku na menu

Deváté cvičení – soubory

Práce se soubory patří k základům programátorského umu. Na tomto cvičení jsme si ukázali, jak otevřít, přečíst, zapsat a ukončit soubor.

Obsah cvičení

Na tomto cvičení jsme se zmínili o několika funkcích, které umožní pracovat se soubory. Jde o funkci fopen(), fclose(), fgetc(), fputc(), fprintf() a fscanf().

Vytvořte program, který obdrží v parametrech příkazové řádky jméno vstupního a výstupního textového souboru. Program před každou řádku vstupního souboru doplní pětimístné číslo řádky (vyplněné nulami zleva) plus mezeru a zapíše výsledek do výstupního souboru. Vytvoření čísla proveďte pomocí funkce fprintf(), správnou masku konzultujte se sekcí o proměnných.

Je-li vstupem programu soubor

aa
bb
cc

vytvoří program soubor s obsahem

00001 aa
00002 bb
00003 cc
Vytvořte program, který vypočítá diference funkce a uloží je do souboru. Jako parametr příkazové řádky program obdrží meze intervalu výpočtu a dále diferenční krok h (pro transformaci použijte funkci sscanf()). Program vygeneruje soubor vystup, do něhož uloží celkem čtyři sloupce dat (oddělené mezerami). První sloupec budou ekvidistantní kroky zadaného intervalu (hodnoty na ose x s krokem h), druhý sloupec budou odpovídající funkční hodnoty, ve třetím sloupci budou první diference a ve čtvrtém druhé diference. Diference jsou odhadem derivací funkce používaným v numerických výpočtech. Diference nejsou v krajních hodnotách intervalu definované (nelze překročit meze zadaného intervalu), proto údaje vyplňte první definovanou hodnotou příslušné diference (na kraji budou diference konstantní). Uvažujte funkci exp(-2*x*x). Výsledný soubor můžete vykreslit pomocí programu Gnuplot příkazem plot 'vystup' using 1:2 with lines, 'vystup' using 1:3 with lines, 'vystup' using 1:4 with lines.

Kompletní implementace spojového seznamu z minulého cvičení je ke stáhnutí v následujícím odkazu.

Kompletní implementace spojového seznamu