Задача 4.
Вари- ант № |
Массив |
Задание |
Условия и ограничения |
1 |
Х[10][10] |
Вычислить и запомнить сумму положительных элементов каждого столбца матрицы. Результаты отпечатать в виде строки. |
Решение:
а) Программа.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float X[10][10],P[10];
int i,j;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
printf("X[%d][%d]=",i+1,j+1);
scanf("%f",&X[i][j]);
if(X[i][j]>1||X[i][j]<-1)
{
printf("\nError");
system("PAUSE");
return 0;
}
}
for(j=0;j<10;j++)
{
P[j]=0;
for(i=0;i<10;i++) if(X[i][j]>0)P[j]+=X[i][j];
}
printf("\n");
for(j=0;j<10;j++) printf("%f\t",P[j]);
system("PAUSE");
return 1;
}
Результат:
X[1][1]=0.5 X[1][2]=0.6 X[1][3]=0.4 X[1][4]=-0.2 X[1][5]=-0.1 X[1][6]=0.4 X[1][7]=0.8 X[1][8]=-0.5 X[1][9]=0.2 X[1][10]=-0.1 X[2][1]=-0.5 X[2][2]=-0.7 X[2][3]=0.2 X[2][4]=0.8 X[2][5]=0.6 X[2][6]=0.3 X[2][7]=0.5 X[2][8]=0.9 X[2][9]=0.6 X[2][10]=0.5
|
X[3][1]=0.1 X[3][2]=0.6 X[3][3]=-0.6 X[3][4]=-0.5 X[3][5]=-0.2 X[3][6]=0.7 X[3][7]=0.4 X[3][8]=0.8 X[3][9]=0.6 X[3][10]=-0.1 X[4][1]=0.4 X[4][2]=0.6 X[4][3]=0.5 X[4][4]=0.4 X[4][5]=0.8 X[4][6]=0.3 X[4][7]=-0.3 X[4][8]=-0.6 X[4][9]=0.8 X[4][10]=0.7
|
X[5][1]=0.5 X[5][2]=0.4 X[5][3]=0.1 X[5][4]=0.4 X[5][5]=0 X[5][6]=0.1 X[5][7]=0.5 X[5][8]=0.7 X[5][9]=0.4 X[5][10]=-0.7 X[6][1]=0.5 X[6][2]=-0.4 X[6][3]=0 X[6][4]=0.1 X[6][5]=0.2 X[6][6]=0.3 X[6][7]=0.4 X[6][8]=0.4 X[6][9]=0.6 X[6][10]=-0.6
|
X[7][1]=0.3 X[7][2]=0.5 X[7][3]=0.6 X[7][4]=0.7 X[7][5]=0.4 X[7][6]=0.8 X[7][7]=-0.9 X[7][8]=0 X[7][9]=0.1 X[7][10]=0.7 X[8][1]=-0.1 X[8][2]=-0.5 X[8][3]=0.6 X[8][4]=0.8 X[8][5]=0.4 X[8][6]=0.3 X[8][7]=0.2 X[8][8]=0.1 X[8][9]=0 X[8][10]=0.1
|
X[9][1]=-0.1 X[9][2]=0.6 X[9][3]=0.9 X[9][4]=-0.9 X[9][5]=1 X[9][6]=0.5 X[9][7]=-1 X[9][8]=0.6 X[9][9]=-0.2 X[9][10]=1 X[10][1]=-1 X[10][2]=0 X[10][3]=1 X[10][4]=0.2 X[10][5]=0.4 X[10][6]=0.4 X[10][7]=-0.6 X[10][8]=0.5 X[10][9]=1 X[10][10]=-1
|
3.300000 4.300000 5.300000 4.400000 4.800001 5.100000 3.800000 5.000000 5.300000 4.000000 Для продолжения нажмите любую клавишу . . .
|
с) Пояснительная записка.
Программа начинается с директив препроцессора, дающих указание препроцессору подключить к программе заголовочный файл stdio.h с описанием функций ввода-вывода.
Программа содержит основную функцию main(). В ее теле объявляются:
целые переменные i , j для индексов вещественных массивов Х[10][10], Р[10], где Х[10][10]- это исходная матрица, а Р[10] - массив для хранения суммы положительных элементов каждого столбца исходной матрицы. Далее во вложенных циклах for вводятся элементы заданной матрицы; также во вложенных циклах for находятся суммы положительных элементов столбцов матрицы Предварительно массив Р[10] инициализируется нулями. На экран выводятся значения массива Р[10]. Управляющий символ "\t" позволяет напечатать массив Р[10] в виде строки. Далее тело функции main() закрывается фигурной скобкой.
b) Блок-схема.
-
Pj=0
Pj=Pj+Xij +