PROBA2
.DOC
Томский политехнический университет
Кафедра КМС
Отчёт
По лабораторным работам по информатике
Выполнил студент группы 4А12: Султанов А. В.
Проверил преподаватель: Коротков В. C.
Томск 2002 г
Лабораторная работа №5
“Функции”
Задание: Даны два одномерных массива. Найти количество чётных чисел в этих массивах.
Программа:
#include<stdio.h>
#include<math.h>
int wert(int n,int a[]);
main()
{
int n,x,n1,i,a[10],a1[10];
clrscr();
puts("Введите кол-во элементов первого одномерного массива");
scanf("%d",&n);
puts("Введите элементы массива");
for (i=0; i<n;i++)
scanf("%d",&a[i]);
puts("Введите кол-во элементов второго одномерного массива");
scanf("%d",&n1);
puts("Введите элементы массива");
for (i=0;i<n1;i++)
scanf("%d",&a1[i]);
x=wert(n,a)+wert(n1,a1);
printf(" Количество чётных чисел = %d",x);
}
int wert(int m,int q[])
{
int s=0,i;
for(i=0;i<m;i++)
if (q[i]%2==0) s++;
return(s);
}
Результат:
Введите кол-во элементов первого одномерного массива
4
Введите элементы массива
1 6 4 9
Введите кол-во элементов второго одномерного массива
6
Введите элементы массива
1 6 4 8 5 3
Количество чётных чисел = 5
Лабораторная работа №6
“ Файлы ”
Задание: Подсчитать количество английских слов в файле.
Программа:
#include<stdio.h>
main()
{
FILE *f,*t;
int kol=0;
char n,q[20];
clrscr();
t=fopen("C:\\OO.C","w");
fputs("You have learnt to play the piano. Студенты живут весело.",t);
fclose(t);
f=fopen("C:\\OO.C","r");
while (!feof(f))
{
fscanf (f,"%c",&n);
if (n>='a' && n<='z')
{
fscanf (f ,"%s", q);
kol ++;
}
}
fclose(f);
printf("Количество английских слов в файле = %d",kol);
getch();
}
Результат:
Количество английских слов в файле = 7
Лабораторная работа №7
“Строки”
Задание: Найти самое длинное слово в файле. И вывести на экран количество букв и само слово.
Программа:
#include<stdio.h>
#include<string.h>
main()
{
FILE *t, *t1;
int n,i,max=0,b;
char q[20],d[20];
clrscr();
t = fopen("D:\\LORD.C","w");
fputs("Общяга для студентов – это второй дом",t);
fclose(t);
t1 = fopen("D:\\LORD.C","r");
while (!feof(t1))
{
fscanf (t1,"%s",q);
b = strlen(q);
if ( b > max)
{
max = b;
strcpy(d,q);
}
}
fclose(t1);
pritnf("Максимальное слово (%s)",d);
printf("\n Количество букв в нём = %d",max);
getch();
}
Результат:
Максимальное слово (студентов)
Количество букв в нём = 9
Лабораторная работа №8
“Массивы структур”
Задание: Ввести информацию о судне (название судна, маршрут следования, фамилию капитана, количество мест, время в пути). При вводе
маршрута следования, вывести информацию об этом судне.
Программа:
#include <stdio.h>
int i, k;
char name[15];
struct schiff
{
int n[10];
char nami_sudna[15];
char fam_kap[15];
char marschrut[20];
int time;
int kol_mest;
char mar1[20];
};
main()
{
struct schiff lib[10];
int i;
clrscr();
for(i=1;i<=2;i++)
{
puts("-----------------------------------------------------------------");
puts("Введите название судна");
scanf("%s",&lib[i].nami_sudna);
puts("Введите маршрут следования");
scanf("%s",&lib[i].marschrut);
puts("Введите фамилию капитана");
scanf("%s",&lib[i].fam_kap);
puts("Введите количество мест");
scanf("%d",&lib[i].kol_mest);
puts("Введите время в пути");
scanf("%d",&lib[i].time);
}
puts("IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
puts(" ВВЕДИТЕ МАРШРУТ СЛЕДОВАНИЯ");
puts("IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");
scanf("%s",&name);
for (i=1;i<=2;i++)
{
if (strcmp(name, lib[i].marschrut)==0)
{
puts("---------------------------------------------------------------");
printf ("Название судна....%s\n", lib[i].nami_sudna);
printf ("Фамилия капитана...%s\n", lib[i].fam_kap);
printf ("Маршрут судна.....%s\n", lib[i].marschrut);
printf ("Количество мест...%d\n", lib[i].kol_mest);
printf ("Время в пути......%d", lib[i].time);
}
if (strcmp(name, lib[i].marschrut)!=0) k++;
if (k==2) printf ("Судна с названием <%s> нет в базе данных",name);
}
getch();
}
Результат:
----------------------------------------------------------------------------
Введите название судна
Maria
Введите маршрут следования
Tomsk-Moskwa
Введите фамилию капитана
Alexd
Введите количество мест
12
Введите время в пути
5
----------------------------------------------------------------------------------------------------------------------------------------
Введите название судна
Wert
Введите маршрут следования
len-Pop
Введите фамилию капитана
Adler
Введите количество мест
3
Введите время в пути
5
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
ВВЕДИТЕ МАРШРУТ СЛЕДОВАНИЯ
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
Tomsk-Moskwa
----------------------------------------------------------------------------------------------------------------------------------------
Название судна....Maria
Фамилия капитана...Alexd
Маршрут судна.....Tomsk-Moskwa
Количество мест...12
Время в пути......5
Лабораторная работа №9
“Графика”
Задание: Создать шарик, вращающийся вокруг точки.
Программа:
#include <graphics.h>
#include <stdio.h>
#include <math.h>
int main()
{
int x,y,i,j,w;
int gdriver = DETECT, gmode, errorcode;
initgraph (&gdriver, &gmode, "");
setcolor(2);
circle(310,230,1);
for (i=0;i<=360;i++)
{
x=100*cos(i*3.14/180);
y=100*sin(i*3.14/180);
setcolor(4);
circle(x+310,y+230,20);
setcolor(0);
x=100*cos((i)*3.14/180);
y=100*sin((i)*3.14/180);
for ( j=1;j<3200;j++)
for (w=1;w<100;w++);
circle(x+310,y+230,20);
if (i==360) i=0;
}
}
Результат: