Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C++ / лабы / lr5 / Отчет5 (1)

.doc
Скачиваний:
18
Добавлен:
30.04.2013
Размер:
219.14 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Московский государственный институт электроники и математики (технический университет)

Кафедра «Вычислительная техника»

ОТЧЕТ

о лабораторной работе №5

Вариант: 22

Исполнитель:

студент группы С-31

Москва – 2009г.

Исходный код

#include <math.h>

#include <stdio.h>

void vivod (int a, int b)

{

printf("Minimax: %d\n",a);

printf("Maximin: %d\n\n",b);

if (a>b)

{

printf("Minimax>Maximin, igrovaya strategi9 optimal'na\n\n");

}

if (a==b)

{

printf("Minimax=Maximin, sedlova9 to4ka %d\n",a);

}

}

int main()

{

int val,maximin,minimax,q,r;

int arr[5][5];

FILE *file1;

printf("Opredelenie konkyrentosposobnosti s vozmozhnostyu vivoda iz faila.\n");

printf("Shilak E.M., C-31\n");

gg:

printf("Xotite li Vi vvesti icxodnie dannie iz faila? (1/0): ");

scanf("%d",&r);

switch (r)

{

case 1:

{

printf("Vvedite im9 faila: ");

char fname[100];

scanf("%s",fname);

file1=fopen(fname,"r");

if(file1 != 0 )

{

for (int k=0;k<=3;k++)

{

for (int z=0;z<=3;z++)

{

fscanf(file1,"%d",&q);

arr[k][z]=q;

}

}

}

else

{

printf("File ne naiden!\n");

goto gg;

}

fclose(file1);

break;

}

case 0:

{

arr[0][0]=0;

arr[0][1]=3;

arr[0][2]=10;

arr[0][3]=10;

arr[1][0]=3;

arr[1][1]=0;

arr[1][2]=0;

arr[1][3]=8;

arr[2][0]=16;

arr[2][1]=11;

arr[2][2]=4;

arr[2][3]=6;

arr[3][0]=25;

arr[3][1]=15;

arr[3][2]=11;

arr[3][3]=0;

arr[4][0]=0;

arr[4][1]=0;

arr[4][2]=0;

arr[4][3]=0;

break;

}

default:

{

printf("FAIL!\n");

getchar();

goto gg;

}

}

for (int i=0;i<=2;i++)

{

val=arr[i][0];

for (int j=1;j<=3;j++)

{

if (arr[i][j]<val)

{

val=arr[i][j];

}

}

arr[i][4]=val;

}

for (int j=0;j<=3;j++)

{

val=arr[0][j];

for (int i=1;i<=3;i++)

{

if (arr[i][j]>val)

{

val=arr[i][j];

}

}

arr[4][j]=val;

}

maximin=arr[0][4];

for (int i=1;i<=2;i++)

{

if (arr[i][4]>maximin)

{

maximin=arr[i][4];

}

}

minimax=arr[4][0];

for (int i=1;i<=3;i++)

{

if (arr[3][i]<minimax)

{

minimax=arr[4][i];

}

}

printf("Matrica:\n");

for (int m=0;m<=3;m++)

{

for (int n=0;n<=3;n++)

{

printf("%d ",arr [m][n]);

}

printf("\n");

}

vivod (minimax,maximin);

printf("Xotite li Vi soxranit' icxodnie dannie i rezultati v fail? (1/0): ");

scanf("%d",&r);

switch (r)

{

case 1:

{

printf("Vvedite im9 faila: ");

char fname[50];

scanf("%s",fname);

file1=fopen(fname,"w");

for (int k=0;k<=2;k++)

{

for (int z=0;z<=3;z++)

{

fprintf(file1,"%d ",arr[k][z]);

}

fprintf(file1,"\n");

}

fprintf(file1,"Minimax: %d\n",minimax);

fprintf(file1,"Maximin: %d",maximin);

fclose(file1);

}

case 0:

{

return 0;

}

default:

{

return 0;

}

}

}

Блок-схема главного алгоритма программы

Блок-схема функции vivod (вывода минимаксного и максиминного значений)

Внешняя спецификация.

Соседние файлы в папке lr5