DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Опрацювання файлів з текстовою інформацією

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України НУ “Львівська політехніка” Лабораторна робота №9 “Опрацювання файлів з текстовою інформацією” Львів 2005 Назва роботи: Опрацювання файлів з текстовою інформацією. Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками в створенні програм для опрацювання текстової інформації, що міститься в дискових файлах. Засвоїти основні методи читання, запису даних з дискових файлів текстового типу. Завдання на лабораторну роботу. Розробити програмне забезпечення зі застосуванням техніки роботи з дисковими файлами відповідно до заданого варіанту. Програмне забезпечення повинно складатися з декількох модулів. Основна програма вводить та виводить дані які опрацьовуються функціями, що реалізовані як окремі модулі. Назву текстового файлу, в якому містяться дані для опрацювання, передавати через аргументи функції main(). Розміри та значення елементів матриць (в загальному не квадратних) вводити з текстового файлу. Параметри, що задають кількість рядків та стовпців повинні бути іменованими. Пам’ять під матриці виділяти динамічно. Для трикутних матриць (опираючись на їх структуру) виділяти мінімальні об’єми пам’яті. Обмін даними з функцією, що опрацьовує матрицю, виконувати через її аргументи. Результати обчислень записувати в текстовий файл. Назву файлу для запису результатів формувати на основі назви файлу з вхідними даними шляхом заміни розширення. Звернути особливу увагу на обробку помилок, які користувач може зробити при створені текстового файлу з вхідними даними. При вирішенні задач забезпечити дружній інтерфейс з користувачем. Текст laba9.c: #include <stdio.h> #include <conio.h> #include <alloc.h> #include <string.h> #include <dir.h> #include "laba9fn.h" //підключення власного заготовочного файлу int main(int argc,char* argv[]) { char file_in[20],file_out[20],drive[5],dir[10],name[10],ext[5]; int num,width,j,i; int sum; float ser; FILE *f1,*f2; //файлові потоки int **masiv; //вказівка на двохвимірний масив clrscr(); //очистка екрану if(argc!=2) //перевірка кількості параметрів {printf("Error in arguments");return 1;} sscanf(argv[1],"%s",file_in); //зчитування імені файлу fnsplit(file_in,drive,dir,name,ext); //розбивання імені на складові fnmerge(file_out,drive,dir,name,"out"); //зміна розширення імені файлу if(!(f1=fopen(file_in,"r"))) //відкриття файлу для читання {printf("Error: cannot open input file");return 1;} if(!(f2=fopen(file_out,"w"))) //відкриття файлу для запису {printf("Error: cannot create output file");return 1;} //перевірка чи файл пустий if(feof(f1)){printf("Error: input file is empty");return 1;} if(!(fscanf(f1,"%d",&width))){printf("Error: not number in input file");return 1;} for(i=1,num=0;i<width+1;num+=i++); masiv=(int **)calloc(width,sizeof(int*));//виділення памяті під масив for(i=0;i<width;i++) masiv[i]=(int*)calloc(i+1,sizeof(int)); //зчитування вхідних даних з файлу for(i=0;i<width;i++) for(j=0;j<i+1;j++) { if(feof(f1)){printf("Error: input file is not complete");return 1;} if(!fscanf(f1,"%d",&masiv[i][j])){printf("Error: not number in input file");return 1;} } //підрахунок суми та середнього арифметичного всіх елементів sum=sum_el(masiv,width); ser=ser_el(masiv,width); //вивід результатів fprintf(f2,"Summary of elements: %d\n",sum); fprintf(f2,"Seredne arifmet of elements: %.4f\n",ser); //закриття файлів fclose(f1); fclose(f2); free(masiv); return 0; } Текст laba9fn.h //прототипи функцій int sum_el(int** mas,int count); float ser_el(int** mas,int count); Текст laba9fn.c: #include "laba9fn.h" int sum_el(int** mas,int count) {//підрахунок суми елементів int i,j,sum=0; for(i=0;i<count;i++) for(j=0;j<i+1;j++)sum+=mas[i][j]; return sum; } float ser_el(int** mas,int count) {//підрахунок середнього арифметичного значення всіх елементів int i,j,num=0,sum=0; for(i=0;i<count;i++) for(j=0;j<i+1;j++){sum+=mas[i][j];num++;} return (float)(sum)/num; } Результат роботи програми: Вхідний файл: 4 1 2 3 4 5 6 7 8 9 10 Вихідний файл :Summa= 551 Seredn= 5.5000 Алгоритм програми Висновок: Ознайомились з масивами та основними прийомами створення та опрацювання динамічних масивів. Організували зчитування вхідної інформації з текстового файлу.
Антиботан аватар за замовчуванням

30.04.2013 10:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!