Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Министерство образования и науки Российской Федерации
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра Информационных технологий и систем безопасности
КУРСОВАЯ РАБОТА
по дисциплине: «Языки программирования»
Выполнил: студент гр. ИБ-240
Иванова А. Ю.
Проверил: Доцент кафедры ИТ и СБ
Шишкин А. Д.
Санкт-Петербург
2012
Содержание
Задание на курсовое проектирование 3
Блок-схема кода программы 4
Алгоритм главной функции 7
Листинг программы 8
Вывод результатов 10
Таблица переменных 11
Список использованной литературы 12
Задание на курсовое проектирование по дисциплине «Языки программирования»:
Дана вещественная квадратная матрица.
Написать программу, выполняющую следующие действия в виде функций с динамическим распределением памяти.
1) Вывести результат сглаживания заданной вещественной матрицы размером 10 на 10. Соседями элемента Аij в матрице назовем элементы Аkl с i-1≤k≤i+1, j-1≤l≤j+1, (k,l) ≠ (i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы.
2) В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали
Содержание проекта:
Дата выдачи «____» сентября 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