Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003




НазваниеИнформатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003
страница9/12
Дата11.11.2012
Размер0.97 Mb.
ТипМетодические указания
1   ...   4   5   6   7   8   9   10   11   12

ИСПОЛЬЗОВАНИЕ ПОДПРОГРАММ




Пример использования процедур и функций без параметров



Задача 24. Обнулить элементы строки и столбца, на пересечении которых стоит максимальный элемент.

Программа на Паскале:

{

Обнулить элементы строки и столбца, на пересечении которых

стоит максимальный элемент

}

uses crt;

const

MAXN = 10; { Максимально возможное количество строк в массиве }

MAXM = 10; { Максимально возможное количество столбцов }


var { Глобальные переменные }

a : array [1 .. MAXN, 1 .. MAXM] of integer; { Массив }

n, m : integer; { Количество строк и столбцов в массиве }

imax : integer; { Индекс строки, содержащей

максимальный элемент }

jmax : integer; { Индекс столбца, содержащего

максимальный элемент }


{ Генерация случайного массива }

procedure GenerateArray;

var

i, j : integer;

begin

{ Генерация значений n и m }

n := random(10) + 1; { Генерируется значение в интервале }

m := random(10) + 1; { от 1 до 10 }


{ Генерация значений всех элементов }

for i := 1 to n do

for j := 1 to m do

a[i, j] := random(5) + 1;

end;

{ Поиск максимального элемента }

procedure FindMaxElement;

var

i, j : integer;

max : integer; { Максимальный элемент массива }

begin

max := a[1,1];

imax := 1;

jmax := 1;

for i := 1 to n do

for j := 1 to m do

if a[i,j] > max then

begin

max := a[i,j];

imax := i;

jmax := j;

end;

end;


{ Вывод массива в виде таблицы с цветным выделением

максимального элемента и элементов, стоящих

на одной строке с минимальным и в одном столбце с ним}

procedure ColorOutputArray;

var

i, j : integer;

begin

writeln;

writeln;

writeln;

for i := 1 to n do

begin

for j := 1 to m do

begin

{ Максимальный элемент выводится розовым цветом }

if (i = imax) and (j = jmax) then textcolor(LightRed)

{ Строка, содержащая максимум, выводится голубым }

else if i = imax then textcolor(LightCyan )

{ Столбец, содержащий максимум, выводится светло-зеленым }

else if j = jmax then textcolor(LightGreen)

{ Все остальные элементы выводятся серым }

else textcolor(LightGray);

write(a[i,j]:4);

end;

writeln;

end;

end;


{ Обнулить элементы строки и столбца, на пересечении которых

стоит максимальный элемент }

procedure Zero;

var

i, j : integer;

begin

{ Обнуляем столбец, содержащий максимальный элемент }

for i := 1 to n do

a[i,jmax] := 0;


{ Обнуляем строку, содержащую максимальный элемент }

for j := 1 to m do

a[imax,j] := 0;

end;

{ Тело программы }

begin

{ Очистка экрана }

clrscr;

{ Запуск генератора случайных чисел }

randomize;

{ Генерация случайного массива }

GenerateArray;

{ Поиск максимального элемента массива }

FindMaxElement;

{ Вывод массива до изменений }

ColorOutputArray;

{ Обнуление элементов }

Zero;

{ Вывод массива до изменений }

ColorOutputArray;

{ Ожидание нажатия любой клавиши }

readkey;

end.


Программа на Си:

/*

Обнулить элементы строки и столбца, на пересечении

которых стоит максимальный элемент

*/

#include

#include

#include

// MAXN – максимально возможное количество строк в массиве

#define MAXN 10

// MAXM – максимально возможное количество столбцов

#define MAXM 10

// Глобальные переменные

int a[MAXN][MAXM]; // Массив

int n, m; // Количество строк и столбцов в массиве

int imax; // Индекс строки, содержащей максимальный элемент

int jmax; // Индекс столбца, содержащего максимальный элемент

/* Генерация случайного массива */

void GenerateArray()

{

int i, j;

// Генерация значений n и m

n = random(10) + 1; // Генерируется значение в интервале

m = random(10) + 1; // от 1 до 10

// Генерация значений всех элементов

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

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

a[i][j] = random(5) + 1;

}


/* Поиск максимального элемента */

void FindMaxElement()

{

int i, j;

int max; //Максимальный элемент массива


max = a[0][0];

imax = 0;

jmax = 0;

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

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

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

{

max = a[i][j];

imax = i;

jmax = j;

}

}


/* Вывод массива в виде таблицы с цветным выделением

максимального элемента и элементов, стоящих

на одной строке с минимальным и в одном столбце с ним */

void ColorOutputArray()

{

int i, j;


printf("\n\n\n");

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

{

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

{

// Максимальный элемент выводится розовым цветом

if (i == imax && j == jmax) textcolor(LIGHTRED);

// Строка, содержащая максимум, выводится голубым

else if (i == imax) textcolor(LIGHTCYAN);

// Столбец, содержащий максимум, выводится светло-зеленым

else if (j == jmax) textcolor(LIGHTGREEN);

// Все остальные элементы выводятся серым

else textcolor(LIGHTGRAY);

cprintf("%d ", a[i][j]);

}

printf("\n");

}

}


/* Обнулить элементы строки и столбца, на пересечении которых

стоит максимальный элемент */

void Zero()

{

int i, j;


// Обнуляем столбец, содержащий максимальный элемент

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

a[i][jmax] = 0;


// Обнуляем строку, содержащую максимальный элемент

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

a[imax][j] = 0;

}


int main()

{

// Очистка экрана

clrscr();

// Запуск генератора случайных чисел

randomize();

// Генерация массива

GenerateArray();

// Поиск максимального элемента

FindMaxElement();

// Вывод массива до обработки

ColorOutputArray();

// Обнуление строки и столбца, на пересечении которых

// стоит максимальный элемент

Zero();

// Вывод массива после обработки

ColorOutputArray();

// Ожидание нажатия любой клавиши

getch();


return 0;

}


1   ...   4   5   6   7   8   9   10   11   12

Похожие:

Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconРабочая программа Дисциплины “Узлы и устройства эвм”
Для подготовки дипломированных специалистов по направлению 654600 – «Информатика и вычислительная техника» по специальности 220100...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconМикропроцессорные системы для подготовки
Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220100...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconКомпьютерная графика для подготовки
Для подготовки дипломированных специалистов по направлению 654600 “Информатика и вычислительная техника” по специальности 220100...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 icon«Утверждаю»: Министерство образования и науки Российской Федерации Ректор
Направление подготовки: 230100 «Информатика и вычислительная техника Профиль подготовки: «Вычислительные машины, комплексы, системы...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconРабочая программа составлена на основании Государственного стандарта по специальности 220100 «Вычислительные машины, комплексы, системы и сети»
Рабочая программа составлена на основании Государственного стандарта по специальности 220100 «Вычислительные машины, комплексы, системы...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconУчебно-методический комплекс по дисциплине Операционные системы
«Вычислительные машины, комплексы, системы и сети» на кафедре «Вычислительная техника» факультета информационных систем и технологий...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconПрограмма государственного экзамена по специальности 220100 “Вычислительные машины, комплексы, системы и сети”

Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconМетодические указания для студентов направления подготовки 654600 Омск 2002
В методических указаниях по дипломному проектированию предназначены для студентов специальности 22 01 00 «Вычислительные машины,...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconРабочая программа учебной дисциплины «микропроцессорные системы» для специальности: 230101 «Вычислительные машины, комплексы, системы и сети» Заочная форма обучения
«Вычислительные машины, комплексы, системы и сети», изложенных в Государственном образовательном стандарте высшего профессионального...
Информатика и вычислительная техника” и специальностей 220100 “Вычислительные машины, комплексы, системы и сети” и 021800 “Теоретическая и прикладная лингвистика” Ульяновск 2003 iconМетодические указания и контрольные задания Для студентов специальности 230101 «Вычислительные машины, комплексы, системы и сети»
«Вычислительные машины, комплексы, системы и сети» заоч формы обучения / Федер агентство по образованию, Воронеж государственный...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница