49039

Выполнение действия в виде функций с динамическим распределением памяти программным способом

Курсовая

Информатика, кибернетика и программирование

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

Русский

2014-01-07

365.5 KB

8 чел.

Министерство образования и науки Российской Федерации

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра Информационных технологий и систем безопасности

КУРСОВАЯ РАБОТА

по дисциплине: «Языки программирования»

Выполнил: студент гр. ИБ-240

                                                                                                                                                Иванова А. Ю.

Проверил: Доцент кафедры ИТ и СБ

Шишкин А. Д.

Санкт-Петербург

2012

Содержание

Задание на курсовое проектирование                                                                         3

Блок-схема кода программы                                                                                        4                                                             

Алгоритм главной функции                                                                                         7

Листинг программы                                                                                                      8

Вывод результатов                                                                                                      10

Таблица переменных                                                                                                  11

Список использованной литературы                                                                         12

Задание на курсовое проектирование по дисциплине «Языки программирования»:

Дана вещественная квадратная матрица.

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

1) Вывести результат сглаживания заданной вещественной матрицы размером 10 на 10. Соседями элемента Аij в матрице назовем элементы Аkl с    i-1≤ki+1, j-1≤lj+1, (k,l) ≠ (i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы.

2) В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали

Содержание проекта:

  1.  Постановка задачи и метод решения.
  2.  Алгоритм модулей и главной функции.
  3.  Листинг программы.
  4.  Результаты тестирования программы.
  5.  Таблица переменных, задействованных в программе.
  6.  Список использованных источников.

Дата выдачи «____»    сентября 2012 г.

Дата сдачи «____»    декабря 2012г.

Задание выдал                                                                    доц. Шишкин А.Д.

Задание получила                                                        студентка Иванова А. Ю.

На Рис. 1 представлена блок-схема кода программы

Рис. 1

Алгоритм главной функции

сглаживания   

Листинг программы:

//group Ib-240

//student Ivanova Arina

#include <conio.h>

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#define RND ((int)rand()/2000)

int main()

{

float A[10][10],B[10][10],s=0, sum=0;

int n,i,j,a=1,b=1,c=1,d=1,k=4;

clrscr();

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

printf("\n");

puts("vybrat'variant zapolneniya matrici:\n1-vruchnuyu,\n2-avtomatcheski(sluchainiye elementy)");

printf("\n");

printf("OLD MATRIX:\n");

flushall();

 switch(getchar())

 {

  case'1':

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

     {

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

      {

      printf("A[%d][%d]= ",i,j);

      scanf("%f",&A[i][j]);

      }

     }

printf("\n");

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

    for(j=0;j<n;j++){

    printf("%1.1f\t",&A[i][j]);

    }

    printf("\n");

    }

 break;

 case'2':

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

     {

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

      {

       A[i][j]=(float)(RND%10);

       printf("%5.1f",A[i][j]);

      }

      printf("\n");

     }

printf("\n");

}

printf("\n");

printf("NEW MATRIX:\n");

printf("\n");

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

{

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

{

k=4; s=0; a=1; b=1; c=1; d=1;

if(i==0) {a=0; k--;}

if(i==n-1) {b=0; k--;}

if(j==0) {c=0; k--;}

if(j==n-1) {d=0; k--;}

s=(b*A[i+1][j]+a*A[i-1][j]+c*A[i][j-1]+d*A[i][j+1])/k;

B[i][j]=s; printf("%5.1f",B[i][j]);

}

printf("\n");

}

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

{

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

{

sum+=B[i][j];

}            }

printf("Summa nij glav diag=%5.1f",sum);

getch();

return 0;

}

Вывод результатов:

Таблица переменных:

Переменная

Тип

Кол-во в байтах

А

float

4*n

В

4*n

s

4

sum

4

n

int

2

i

2

j

2

a

2

b

2

c

2

d

2

k

2

z

2

Всего выделено памяти:

26+8n

Список используемой литературы:

Шишкин, А. Д. Программирование на языке СИ [Текст]: Учебное пособие – Спб.: РГГМУ, 2003. – 103 с.

PAGE   \* MERGEFORMAT 13


 

А также другие работы, которые могут Вас заинтересовать

4206. Условная функция. Использование диапазона клеток с применением статических функций 162.52 KB
  Условная функция Цель: Научится: Пользоваться диапазоном клеток и стандартными статическими функциями. Использовать логические функции. Создавать сложные формулы. Работать с несколькими листами. Составлять логические выражения. Ход работы Используя...
4207. Електробезпека. Основні причини та особливості електротравм 226.5 KB
  Електробезпека. Основні причини та особливості електротравм. Електробезпека — система організаційних і технічних заходів та засобів, що забезпечують захист людей від шкідливої і небезпечної дії електричного струму, електричної дуги, електричног...
4208. Надання першої допомоги при ураженні електричним струмом 160 KB
  Надання першої допомоги при ураженні електричним струмом Людина, яка надає першу долікарську допомогу, повинна знати: характерні ознаки порушення функцій організму потерпілого загальні принципи надання першої долікарської допомоги при отриманих ушк...
4210. ФСП НТУУ КПІ з позиції концепції управління за цілями 276.5 KB
  Вступ Метою даної роботи є аналіз діяльності ФСП НТУУ КПІ з позиції концепції управління за цілями. Спираючись на мету, я виділила наступні завдання для вирішення у даній роботі: --встановити основні положення концепції управління за цілями, її ет...
4211. Логотипи, бренди та слогани на сучасному ринку 1018 KB
  Мифы и легенды брендов Мифы и легенды давно стали условием успешности бренда на рынке. Продукт, о котором невозможно рассказать историю, брендом не является. Известные бренды окутаны мифами и легендами половина из которых это реальные факты из ис...
4212. Юстування супутникової антені за допомогаю спектроаналізатора ST-2 Rover 6.66 MB
  Отримати практичні навики налаштування приймальної офсетної дзеркальної антени на супутник телевізійного мовлення за допомогою аналізатора SAT/TV сигналов ST-2.
4213. Асиметричні алгоритми кодування 144.61 KB
  Асиметричні алгоритми кодування. Загальні відомості про криптоалгоритми В асиметричних криптоалгоритмах для шифрування повідомлення використовується один ключ, а для розшифровки інший. Ключ шифрування відомий усім, але перетворення є незворотним, т...
4214. Вступ до інструментальних методів аналізу 58 KB
  Вступ до інструментальних методів аналізу Особливості інструментальних методів аналізу Сучасна аналітична хімія відчуває сильний вплив експериментальної фізики і фізичної хімії. Прогрес цих наук, надзвичайна різноманітність і точність цих методів ви...