Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
137
Добавлен:
15.12.2017
Размер:
42.57 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

ІКТА

кафедра ЗІ

ЗВІТ

до лабораторної роботи №4

з курсу: «Технології програмування »

на тему: «ОБРОБКА СИМВОЛЬНИХ РЯДКІВ. РОБОТА З ФАЙЛАМИ»

Варіант № 5

Виконав: ст. гр. КБ-12

Войтович О.О.

Прийняв: асистент кафедри

захисту інформації

Крет Т.Б.

Львів - 2017

Мета роботи – вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними.

  1. Завдання

Сформувати і вивести на екран текстовий файл, в якому після кожного рядка буде виведена цифра яка міститиме значення кількості літер в рядку. Замінити всі символи “(” і “)” на “[” і “]” відповідно.

2. Блок-схема алгоритму програми

3. Cписок ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі,

та їх пояснення

while - цикл з передумовою;

if – умовний оператор;

main() – головна функція;

FILE – включення файлових потоків в програму;

Switch () - oператор вибору;

fprintf() – функція виводу даних у файл;

fgetc () – функція зчитування символа з файлу;

4. Текст програми

#include <stdio.h> // Підключаємо бібліотеки

#include <stdlib.h>

int main()// Головна програма

{ int s=0; char c; // Заводимо зміні

FILE *fin, *fout; // Підключаємо файлові потоки

fin = fopen("input.txt","r"); //Відкриваємо файл для зчитування

fout = fopen("output.txt","w"); //Відкриваємо файл для виведення

while (c != EOF) // Цикл до кінця файлу

{ c = fgetc(fin); //Зчитуємо символ

if ((((int)c)<=90 && ((int)c)>=65) | (((int)c)<=122 && ((int)c)>=97)) {s+=1;} //Перевіряємо чи є символ літерою

if (c=='(') c='['; if (c==')') c=']'; //Перевіряємо чи це дужки

switch (c) // Оператор вибору

{case '\n': {fprintf(fout," %i",s); s=0;}

default : fprintf(fout,"%c",c);

}

}

fclose(fin);// закриваємо файли

fclose(fout);

return 0;// Кінець головної програми

}

5. Результати роботи програми

#include <stdio.h> 13

0

int vvod[]; 7

int boble[]; 8

int sear_p_sum[]; 11

int vivod[]; 8

0

int mas[100][100],n=0,m=0; 8

float sa[100],s=0; 8

0

int main[] 7

{ 0

scanf ["%i",&n]; 7

scanf ["%i",&m]; 7

0

vvod[]; 4

boble[]; 5

sear_p_sum[]; 8

vivod[]; 5

0

return 0; 6

} 0

0

int vvod [] 7

{ 0

for [int i=0; i<n; i++] 10

for [int j=0; j<m; j++] 10

scanf ["%i",&mas[i][j]]; 11

0

0

return 0; 6

} 0

0

int boble [] 8

{ 0

for [int r=0; r<n; r++] 10

for [int i=0; i<m-1; i++] 10

for[int x=0,j=i+1; j<m; j++] 12

if [mas[r][i]<mas[r][j]] {x=mas[r][i]; mas[r][i]=mas[r][j]; mas[r][j]=x; x=0;} 35

0

return 0; 6

} 0

0

int vivod [] 8

{ 0

for [int i=0; i<n; i++] 10

{for [int j=0; j<m; j++] 10

printf ["%i ",mas[i][j]]; 12

printf ["\n"]; 7

} 0

for [int i=0; i<n; i++] 10

printf ["Seredne arefmetuchne radcka #%i = %lf\n",i+1,sa[i]]; 39

0

printf["Suma serednih znachen = %lf",s]; 28

return 0; 6

} 0

0

int sear_p_sum [] 11

{ 0

for [int i=0; i<n; i++] 10

{for [int j=0; j<m; j++] 10

sa[i]+=mas[i][j]; 8

sa[i]/=m; 4

s+=sa[i]; 4

} 0

return 0; 6

}