Двумерные массивы + КУРСОВАЯ
.docxДвумерные массивы
тип имя [разм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));