Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gos_2013.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
125.95 Кб
Скачать

Void change ( int *a, int *b )

{ int t=*A; *A = *B; *B = t; }

Void bubble ( int a[], int l, int r )

{

int i, j;

for ( i=L; i<R; i++ )

for ( j=R; j>i; j--)

if ( a[j] < a[j-1] )

change ( a+j, a+j-1 );

}

main ()

{

int i, m[NN];

long int t0, t;

randomize(); /* инициализация генератора случайных чисел */

begin:

clrscr();

printf ( "ПРОГРАММА ДЛЯ СОРТИРОВКИ ЧИСЕЛ ПУЗЫРЬКОВЫМ МЕТОДОМ" );

printf ( "\n\nИсходный массив из %d чисел:\n", NN );

/* Генерация и печать псевдослучайных чисел */

for ( i=0; i<NN; i++ )

{ m[i] = rand(); printf ( "%8d", m[i] ); }

printf ( "\nДля начала сортировки нажмите любую клавишу.\n" );

getch();

/* Сортировка чисел */

tic0 = clock();

bubble ( m, 0, NN-1 );

tic = clock() – tic0;

/* Печать отсортированных чисел */

printf ( "\nОтсортированный массив чисел:\n" );

for ( i=0; i<NN; i++ )

printf ( "%8d", m[i] );

printf ( "\nПузырьковый метод: элементов = %d; тиков = %ld", NN, tic );

printf ( "\nДля продолжения нажмите любую клавишу; <Esc> - выход" );

end:

if ( getch() != 27 )

goto begin;

}

/* Сортировка выбором */

#include <stdio.h> /* printf() */

#include <stdlib.h> /* rand(), randomize() */

#include <conio.h> /* clrscr(), getch() */

#include <time.h> /* clock(), randomize() */

#define NN 100

Void selection ( int a[], int l, int r )

{

int i, j;

for ( i=L; i<R; i++ )

{ int min=i;

for ( j=i+1; j<=R; j++)

if ( a[j] < a[min] )

min = j;

{ int t=a[i]; a[i] = a[min]; a[min] = t; }

}

}

main ()

{

int i, m[NN];

long int tic0, tic;

randomize();

begin:

clrscr();

printf ( "ПРОГРАММА ДЛЯ СОРТИРОВКИ ЧИСЕЛ МЕТОДОМ ВЫБОРА" );

printf ( "\n\nИсходный массив из %d чисел:\n", NN );

/* Генерация и печать случайных чисел */

for ( i=0; i<NN; i++ )

{ m[i] = rand(); printf ( "%8d", m[i] ); }

printf ( "\nДля начала сортировки нажмите любую клавишу." );

if ( getch() == 27 ) goto end;

/* Сортировка чисел */

tic0 = clock();

selection ( m, 0, NN-1 );

tic = clock();

/* Печать отсортированных чисел */

printf ( "\nОтсортированный массив чисел (%ld):\n", tic-=tic0 );

for ( i=0; i<NN; i++ )

printf ( "%8d", m[i] );

printf ( "\nСортировка выбором: элементов = %d; тиков = %ld", NN, tic );

printf ( "\nДля продолжения нажмите любую клавишу; <Esc> - выход" );

end:

if ( getch() != 27 )

goto begin;

}

/* СОГЛАСОВАНИЕ НАЗВАНИЯ ВАЛЮТЫ с ВВЕДЕННЫМ ЧИСЛОМ */

#include <stdio.h>

#include <conio.h>

#include <string.h>

char s[20], /* рабочий массив */

r[]="рубл"; /* постоянная часть названия валюты */

main()

{

Int numb, /* введенное число */

last, /* часть введенного числа в диапазоне от 0 до 19 */

i;

clrscr(); /* начало работы */

begin:

printf("Введите число: ");

scanf("%d",& numb);

last=numb;

if ( last > 100 ) /* выделение двух последних цифр */

last %= 100;

if ( last > 20) /* выделение чостатка в диапазоне 0 -19 */

last %= 10;

switch ( last ) /* присоединение окончания тремя способами */

{ case 1: for ( i=0; r[i]; i++) /* вариант 1 */

s[i] = r[i];

s[i]='ь';

s[i+1]='\0';

break;

case 2:

case 3:

case 4: sprintf ( s, "%s%s", r, "я" ); /* вариант 2 */

break;

default: strcpy ( s, r ); /* вариант 3 */

strcat ( s, "ей" );

}

printf("\n %d %s\n\n",numb,s);

if ( getch() != 27 )

goto begin;

}

/* 411 - включение/выключение динамика */

#include <dos.h> /* inportb(), outportb() */

#include <conio.h> /* getch() */

main()

{

unsigned char b;

unsigned int d=2000;

b = inportb ( 0x61 ); /* чтение */

b = b | 3; /* OR */

outportb ( 0x61, b ); /* вкл. динамика */

outportb ( 0x43, 182 );

outportb ( 0x42, d % 256 );

outportb ( 0x42, d / 256 );

getch (); /* ожидание*/

b = b & 0xFC; /* AND */

outportb ( 0x61, b ); /* выкл. динамика */

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]