Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра інформаційних систем та мереж
Лабораторна робота №8
на тему
Засоби мови Cі для роботи з рядками символів
Львів 2008
Мета роботи: Здобуття практичних навичок опрацювання текстових
даних за допомогою бібліотечних функцій мови Сі.
1. Ввести речення. Подвоїти кожне входження заданого слова. Для розділення
слів використати пропуски.
2. Дані про автомобілі записано в N рядках символів, кожен з яких має таку
структуру: марка авто, номер, колір, прізвище власника, адреса власника,
відмітка про техогляд. Поля даних розділено хоча б одним символом, який
не використовується для запису вказаних даних. Підрахувати кількість
автомобілів заданої марки, які мають сріблястий колір.
Тексти програм:
1)
#include<stdio.h>
#include<conio.h>
#define n 200
void main()
{
char i,j,k,l,s[n];
puts("vvedit\' re4ennia(<100 sumvoliv)");
gets(s);
l=strlen(s);
for(i=0,j=0;i<l*2+2;i++)
{
if(*(s+i)==' '||*(s+i)=='.'||*(s+i)=='\0')
{
i++;
for(k=strlen(s);k>=i;k--)
*(s+k+i-j)=*(s+k);
k=i-j;
for(;j<i;j++)
*(s+j+k)=*(s+j);
s[i-1]=' ';
i+=k-1;
j+=k;
}
}
puts(s);
getch();
}
2)
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define n 2
#define m 100
int posh(char *a,int e,char *z);//a-baza;nm - riadok;
//e- element dlia zposh(1..5);z- zrazok;
void main()
{
char a[n][m+1],z[20];
int e,i,j,s=n;
clrscr();
puts(" vvedit' dani v takomy formati\n");
puts("--------------------------------------------------------------------------------");
puts(" Marka:Nomer:Kolir:Vlasnuk:Adresa vl:Vidmitku pro tehohliad");
puts("--------------------------------------------------------------------------------");
for(i=0;i<n;i++)
{
gets(a[i]);
a[i][m]=1;
}
a1:clrscr();
printf("vvedit\' zrazok>>>>>>");
gets(z);
clrscr();
puts(" poshyk\n");
puts("1-Marka");
puts("2-Nomer");
puts("3-Kolir");
puts("4-Vlasnuk");
puts("5-Adresa vl.");
puts("6-Vidmitku pro tehohliad\n");
printf(" vuberit\' po 4omy shykatu >>>>");
scanf("%d",&e);
for(i=0;i<n;i++)
if(a[i][m]&&!posh(a[i],e,z))
{
a[i][m]=0;
s--;
}
clrscr();
printf(" znajdeno-%d\nshsykatu dali - 1, vuvestu - 2\n>>>>>>",s);
scanf("%d",&e);
getchar();
if(e==1)goto a1;
clrscr();
puts("-------------------------------------znajdeno-----------------------------------\n");
for(i=0;i<n;i++)
if(a[i][m]==1)
puts(a[i]);
getch();
}
int posh(char *a,int e,char *z)
{
int i,j;
for(i=0;i<m;i++)
{
if(a[i]==':')
e--;
if(e==1)
{
if(i>0)i++;
for(j=0;j<strlen(z);j++,i++)
if(a[i]!=z[j])
return 0;
return 1;
}
}
}
Відлагодження програм:
1)
2)