Студопедия — ВСЕМ: указать ФИО автора работы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ВСЕМ: указать ФИО автора работы

 

/* ДВУМЕРНЫЕ МАССИВЫ */

 

/*

Двумерный массив представляет собой двумерную

прямоугольную таблицу из нумерованных переменных.

 

Он объявляется так:

 

int array[LINES][COLUMNS];

 

А индексируется так:

 

array[y][x]

 

где 0 <= y <= LINES - 1

0 <= x <= COLUMNS - 1

 

+-------------+-------------+-------------+------> ось x

| array[0][0] | array[0][1] | array[0][2] |...

+-------------+-------------+-------------+

| array[1][0] | array[1][1] | array[1][2] |...

+-------------+-------------+-------------+

| array[2][0] | array[2][1] | array[2][2] |...

+-------------+-------------+-------------+

|.........

V

ось y

 

Пока, на данной стадии знания Си,

я рекомендую вам объявлять двумерные массивы как глобальные

и не пытаться передавать их имена в функции как аргументы.

*/

 

/* Приведем пример, который заводит двумерный массив букв,

рисует в нем некую геометрическую фигуру,

и печатает этот массив.

 

Здесь мы приводим алгоритм Брезенхема для рисования прямых,

объяснения КАК он это делает мы опустим. Пардон.

*/

 

#define LINES 31 /* число строк */

#define COLUMNS 79 /* число столбцов */

 

char field[LINES][COLUMNS];

 

/* В данной программе массив НЕ является параметром,

мы работаем с ним как с глобальной переменной.

Функция рисования прямой линии, алгоритм Брезенхема.

*/

void line(int x1, int y1, int x2, int y2, char sym){

int dx, dy, i1, i2, i, kx, ky;

int d; /* "отклонение" */

int x, y;

int flag;

 

dy = y2 - y1;

dx = x2 - x1;

if (dx == 0 && dy == 0){

field[y1][x1] = sym; /* единственная точка */

return;

}

kx = 1; /* шаг по x */

ky = 1; /* шаг по y */

 

/* Выбор тактовой оси */

if(dx < 0){ dx = -dx; kx = -1; } /* Y */

else if(dx == 0) kx = 0; /* X */

 

if(dy < 0) { dy = -dy; ky = -1; }

 

if(dx < dy){ flag = 0; d = dx; dx = dy; dy = d; }

else flag = 1;

 

i1 = dy + dy; d = i1 - dx; i2 = d - dx;

x = x1; y = y1;

 

for(i=0; i < dx; i++){

field[y][x] = sym; /* нарисовать точку */

 

if(flag) x += kx; /* шаг по такт. оси */

else y += ky;

 

if(d < 0) /* горизонтальный шаг */

d += i1;

else{ /* диагональный шаг */

d += i2;

if(flag) y += ky; /* прирост высоты */

else x += kx;

}

}

field[y][x] = sym; /* последняя точка */

}

 

int main(){

int x, y;

 

/* Заполнить поле пробелами */

for(y=0; y < LINES; y++)

for(x=0; x < COLUMNS; x++)

field[y][x] = ' ';

 

/* Нарисовать картинку */

line(0,0, 0, LINES-1, '*');

line(0,0, COLUMNS-1, 0, '*');

line(COLUMNS-1, 0, COLUMNS-1, LINES-1, '*');

line(0, LINES-1, COLUMNS-1, LINES-1, '*');

 

line(0,0, COLUMNS-1, LINES-1, '\\');

line(COLUMNS-1,0, 0,LINES-1, '/');

 

/* Распечатать массив */

for(y=0; y < LINES; y++){

for(x=0; x < COLUMNS; x++)

putchar(field[y][x]);

putchar('\n');

}

return 0;

}

Last-modified: Mon, 31 Mar 1997 04:51:37 GMT

Начало формы

 

Тема: «Вторые» люди России 18 век

Страны: кроме Менникова

Вариант исполнения:

1. Документ W. 3-10 страниц содержательного текста по теме. Поля стандарт. Шрифт – 12-14. Интервал – 1,5. В документе кроме текста должны быть иллюстрации (если они во весь лист, то это не нумеруется) В конце работы прописать источники информации (не менее трех)

2. Рукописный документ – те же требования, что и к вордовскому, но почерк должен быть разборчивым и аккуратным.

3. Презентация в формате PPT – 5-10 слайдов, текс в подстрочнике или в отдельном документе не более трех страниц (поля стандарт, шрифт – 12-14, интервал – 1,5)

ВСЕМ: указать ФИО автора работы

Название работы. Класс. Источники информации (от 3-х и более)

первый срок сдачи до 28/02/2015 (окончательный 20.03.2015)

Адреса:

25 кабинет (лично в руки) для письменных работ

[email protected]

http://vk.com/id2326023

 




<== предыдущая лекция | следующая лекция ==>
МАССИВЫ. Язык Си работает с именами массивов специальным образом | ВСЕМ: указать ФИО автора работы. Название работы. Класс. Источники информации (от 3-х и более)

Дата добавления: 2015-03-11; просмотров: 317. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия