Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт РГР по программированию!.doc
Скачиваний:
6
Добавлен:
20.09.2019
Размер:
1.43 Mб
Скачать

Текст программы:

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <dos.h>

void main()

{

int b[30][30],i,j,n,m,s,max,min,imax,imin,t;

char c,vb;

randomize();

clrscr();

do{

do{

printf("vvedite kol-vo strok-n (3..10)\n");

fflush(stdin);

s=scanf("%d",&n);

}while ((n<3) || (n>10) || (s==0));

do{

printf("vvedite kol-vo stolbcov-m (3..10)\n");

fflush(stdin);

s=scanf("%d",&m);

}while ((m<3) || (m>10) || (s==0));

printf("\n");

do{

clrscr();

printf("viberite metod zapoln matrici, 1-random, 2-polzovatel\n");

vb=getch();

}while ((vb!='1') && (vb!='2'));

switch (vb)

{

case '1':{

printf("random\n");

for (i=1;i<n;i++)

{

for (j=1;j<m;j++)

{

b[i][j]=rand()%256;

}

}

break;

}

case '2':{

printf("polzovat vvod\n");

for (i=1;i<n;i++)

{

for (j=1;j<m;j++)

{

do{

clrscr();

printf("Vvedite b[%d][%d] element=",i,j);

fflush(stdin);

s=scanf("%d",&b[i][j]);

}while ((b[i][j]<0) || (b[i][j]>255) || (s==0));

clrscr();

}

}

break;

}

}

printf ("Ishodnaya matrica:\n");

for (i=1;i<n;i++)

{

printf("\n\t");

for (j=1;j<m;j++)

{

printf("%3d ",b[i][j]);

}

}

printf("\n\n");

max=b[1][1];

min=b[1][1];

imax=1;

imin=1;

for(i=1;i<n;i++)

{

for(j=1;j<m;j++)

{

if (b[i][j]>max)

{

max=b[i][j];

imax=i;

}

else if (b[i][j]<min)

{

min=b[i][j];

imin=i;

}

}

}

if ( imax==imin )

{

printf("max element nahoditsya v stroke %d\n",imax);

printf("min element nahoditsya v stroke %d\n",imin);

printf("\n");

printf ("Matrica s zamenoi strok soderjashih max element & min element: \n");

for (i=1;i<n;i++)

{

printf("\n\t");

for (j=1;j<m;j++)

{

printf("%3d ",b[i][j]);

}

}

}

else{

{

for(j=1;j<m;j++)

{

t=b[imax][j];

b[imax][j]=b[imin][j];

b[imin][j]=t;

}

}

printf("max element nahoditsya v stroke %d\n",imax);

printf("min element nahoditsya v stroke %d\n",imin);

printf ("\n");

printf ("Matrica s zamenoi strok soderjashih max element & min element: \n");

for (i=1;i<n;i++)

{

printf("\n\t");

for (j=1;j<m;j++)

{

printf("%3d ",b[i][j]);

}

}

}

printf("\n\n");

printf ("vihod n ili N\n");

c=getch();

}while ((c!='n') && (c!='N'));

}

Контрольные примеры:

Входные данные

Выходные данные

Примечания

n=5

При верном вводе программа работает корректно

m=6

При верном вводе программа работает корректно

vb=1

При верном вводе программа работает корректно

n=690

Vvedite n (3..10)

При неверном вводе программа просит снова ввести n, т.к. стоит цикл на проверку ввода

m=6689054

Vvedite m (3..10)

Введённое число не входит в допустимый диапазон, программа прости снова ввести m, т.к. стоит цикл на проверку ввода

vb=hjyj

viberite metod zapoln matrici, 1-random, 2-polzovatel

При неверном вводе ничего не происходит, т.к. стоит проверка на символ (vb=getch();)

vb=2

При верном вводе программа работает корректно

Вывод:

Делая программы я освоил простейшие структуры программирования, изучил стандартные операций ввода-вывода и получил навыки в организации ввода/вывода значений стандартных типов данных, освоил и использование функции проверки корректности вводимых значений по типу, изучил основные операции и стандартные функции языка.

2