Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Двумерные массивы + КУРСОВАЯ

.docx
Скачиваний:
13
Добавлен:
15.03.2015
Размер:
28.29 Кб
Скачать

Двумерные массивы

тип имя [разм1][разм2]

число строк число столбцов

float a[3][4]

a[0][0] a[0][1] a[0][2] a[0][3]

a[1][0] a[1][1] a[1][2] a[1][3]

a[2][0] a[2][1] a[2][2] a[2][3]

Инициализация

двумерного массива

1. Ввод с клавиатуры

M – число строк

N – число столбцов

for(int i=0; i<M; i++)

for(int j=0; j<N; j++)

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

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

}

На экране: a[0][0]=

a[0][1]=

a[0][2]=

………

2.

int x[3][4]={{1,2,3,4},{5,6,7,8},

{9,10,11,12}}

int y[3][4]={{7,6,8},{5,6,7,8},

{11,12}}

7

6

8

5

6

7

8

11

12

int w[4][2]={{10},{20},{30},{40}}

10

10

11

20

20

22

30

30

33

40

40

44

w[i][1]=w[i][0]+i

int z[]={5,8,3,9,6}

int zz[][3]={4,7,3,9,6,3,0,2,8}

Пример 1.

j

i

#include<stdio.h>

#define M 3

#define N 4

int main()

{float a[M][N];

int i, j;

float max;

//Ввод массива см. выше

/*Вывод двумерного массива

в виде матрицы

*/

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

{for( j=0; j<N; j++) вывод

printf("%6.2f",a[i][j]); i-ой строки

printf("\n");

} // конец цикла по i

//Вычисляем max в каждой строке

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

{max=a[i][0];

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

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

printf("\n max=%6.2f",max);

}

return 0;

}

Замечание:

float max[M];

max → max[i]

printf("\n max[%d]=%6.2f",i,max[i]);

Пример 2.

#include<stdio.h>

#define M 3

#define N 4

int main()

{float arr[M][N];

int i, j;

float s[N];

//Ввод массива см. выше

// сумма каждого столбца

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

{s[j]=0;

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

s[j]=s[j]+arr[i][j];

} //конец цикла по j

//вывод значений s[j]

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

printf("\n s[%d]=%8.2f",j,s[j]);

return 0;

}

Курсовая работа

Постановка задачи

Uвх(t) Uвых(t)=?

Исходные данные:

1. Uвх(t) – входной сигнал.

2. Uвых(Uвх) – передаточная

характеристика

Результат работы:

1. Найти Uвых(t) – выходной

сигнал.

2. Вычислить параметр для

Uвх(t) и Uвых(t) с заданной точностью.

3. Передать значения Uвх(t) и

Uвых(t) в wxMaxima или

Calc и построить графики.

___________________________

Вариант № ….

1. Входной сигнал:

Uвх (t) = U·sin (t) 0 ≤ t ≤ 2π

U = 50

2. Передаточная характеристика

U1 = 30

U2 = 100

0, если Uвх<0

Uвых(Uвх)= (U2 /U1)·Uвх , если 0≤Uвх≤U1

U2, если Uвх> U1

Uвых(t)

Uвх(t)

30

t

Контрольный расчёт

1.Табулируем функцию Uвх(t)

в N=20 точках.

2. По формуле Uвых(Uвх) находим

20 значений Uвых для тех же

значений t.

3. Cтроим графики

Uвх(t) и Uвых(t).

В wxMaxima

for t:tn thru tk step dt do

display(U(t));