DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2005
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Засоби системного програмування
Група:
КІ
Коротко про документ

Про що ця робота

Звіт про виконання лабораторної роботи присвячено опрацюванню текстових файлів на мові СІ. У роботі реалізовано динамічне виділення пам'яті для матриць та перестановку їхніх рядків.

У роботі розглядаються

  • Системне програмування
  • Робота з файлами
  • Динамічна пам'ять
  • Мова програмування Сі
  • Матричні обчислення

Зміст і розділи

  1. Тема і мета роботи
  2. Завдання на лабораторну роботу
  3. Текст програми
  4. Результати виконання роботи
  5. Висновок
Для кого:Студенти технічних спеціальностей та викладачі
Викладачі:Не вказано

Ключові поняття

текстовий файлмодульдинамічна пам'ятьматрицяаргументи функціїмонтаж пам'ятіобробка помилокмова СІвказівникчитання запис

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

Міністерство освіти і науки України НУ ”Львівська політехніка” Кафедра ЕОМ Звіт про виконання лабораторної роботи №9 з курсу: „Засоби системного програмування” на тему Опрацювання файлів з текстовою інформацією Тема роботи: Опрацювання файлів з текстовою інформацією. Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками в створенні програм для опрацювання текстової інформації, що міститься в дискових файлах. Засвоїти основні методи читання, запису даних з дискових файлів текстового типу. Завдання на лабораторну роботу Розробити програмне забезпечення зі застосуванням техніки роботи з дисковими файлами відповідно до заданого варіанту. Програмне забезпечення повинно складатися з декількох модулів. Основна програма вводить та виводить дані які опрацьовуються функціями, що реалізовані як окремі модулі. Назву текстового файлу, в якому містяться дані для опрацювання, передавати через аргументи функції main(). Розміри та значення елементів матриць (в загальному не квадратних) вводити з текстового файлу. Параметри, що задають кількість рядків та стовпців повинні бути іменованими. Пам’ять під матриці виділяти динамічно. Для трикутних матриць (опираючись на їх структуру) виділяти мінімальні об’єми пам’яті. Обмін даними з функцією, що опрацьовує матрицю, виконувати через її аргументи. Результати обчислень записувати в текстовий файл. Назву файлу для запису результатів формувати на основі назви файлу з вхідними даними шляхом заміни розширення. Звернути особливу увагу на обробку помилок, які користувач може зробити при створені текстового файлу з вхідними даними. При вирішенні задач забезпечити дружній інтерфейс з користувачем. Індивідуальне завдання: Перестановка заданих (за запитом) рядків матриці Результати виконання роботи. Текст програми: n=3 m=3 6 5 1 5 4 9 7 3 2 int input(char *filename); int output(char *filename); # include <stdio.h> # include <conio.h> # include <string.h> # include "labst_9.h" FILE *fp,*fq; int m,n,*Matrix[100][100]; int main(int argc, char *argv[]) { int j,i,l1,l2,line[100]; char *filename; clrscr(); n=0;m=0; if (argc!=2) {printf("Eror..."); return 0;} else strcpy(filename,argv[1]); if (input(filename)==1) { for(i=0;i<n;i++) for(j=0;j<m;j++) printf("\n Matrix[%d][%d]=%d",i,j,*Matrix[i][j]); do { printf("\nEnter number of line1 to change line2"); scanf("%d %d",&l1,&l2); } while ((l1>=n)||(l2>=n)); for(j=0;j<m;j++) { line[j]=*Matrix[l1][j]; *Matrix[l1][j]=*Matrix[l2][j]; *Matrix[l2][j]=line[j]; } printf("\n Output results.."); for(i=0;i<n;i++) { printf("\n"); for(j=0;j<m;j++) printf("M[%d][%d]=%d ",i,j,*Matrix[i][j]); } *(filename+strlen(filename)-4)='\0'; strcat(filename,".out"); output(filename); } return 0; } # include <stdlib.h> # include <stdio.h> # include <string.h> extern FILE *fp; int input(char *filename) { char *tmp; extern int n,m,*Matrix[100][100]; int i,j; fp=fopen(filename,"rt"); fscanf(fp,"%s",tmp); if (strstr(tmp,"n=")!=NULL) sscanf((tmp+2),"%d",&n); else if (strstr(tmp,"m=")!=NULL) sscanf((tmp+2),"%d",&m); fscanf(fp,"%s",tmp); if (strstr(tmp,"n=")!=NULL) sscanf((tmp+2),"%d",&n); else if (strstr(tmp,"m=")!=NULL) sscanf((tmp+2),"%d",&m); for(i=0;i<n;i++) for(j=0;j<m;j++) if ((Matrix[i][j]=malloc(sizeof(int)))==NULL) { printf("Not enought memory!!!"); return 0; } for(i=0;i<n;i++) for(j=0;j<m;j++) { fscanf(fp,"%s",tmp); sscanf(tmp,"%d",Matrix[i][j]); } fclose(fp); if (n==0 || m==0) {printf("Eror..."); return 0;} else return 1; }; # include <stdio.h> extern FILE *fq; int output(char *filename) { extern int n,m,*Matrix[100][100]; int i,j; fq=fopen(filename,"wt"); if (fq==NULL) {puts("\nEror create output file!!!");return 0; } for(i=0;i<n;i++) { for(j=0;j<m;j++) { fprintf(fq,"%d",*Matrix[i][j]); fprintf(fq,"%s"," "); } fprintf(fq,"%s","\n"); } fclose(fq); return 1; } Внаслідок виконання програми на екрані отримаємо: ..\labst_8.exe 3 Висновок: на даній лабораторній роботі я оволодів практичними навиками роботи з текстовими файлами на мові Сі.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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