- •Минобрнауки россии
- •«Чувашский государственный университет имени и.Н.Ульянова»
- •Оглавление
- •Цели и задачи учебной практики
- •Объектно-ориентированное программирование. Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Специализированные ппп. Mathcad. Лабораторная работа № 2
- •Лабораторная работа № 3 «Численное решение нелинейных уравнений»
- •Лабораторная работа №4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 10 «Построение поверхностей в сферической и цилиндрической системах координат»
Лабораторная работа №4
Цель работы: Получить и узнать возможности работы массивами.
Условие задачи: Даны действительные числа а1,…, а10, b1,…, b20. Получить действительную матрицу [сij] i = 1, …, 20, j = 1,…, 10, для которой сij= aj/(1 + |bi|).
#Листинг программы №4
//-----------------------------------------------------------------------
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#include <math.h>
//--------------------------------------------------------------------
char NEWT[256];
char*RUS(char*TEXT) {
CharToOem(TEXT,NEWT);
return NEWT;}
//--------------------------------------------------------------------
int main()
{FILE *f1;
if((f1=fopen("матрица.txt","w"))==NULL)
{perror("матрица.txt");
return 1;}
//--------------------------------------------------------------------
int i,j; //задаем переменные
cout<<RUS("Добро пожаловать программу получения действительной матрицы\n");
cout<<"-----------------------------------------------------------\n";
/*float a[10]={1,2,3,4,5,6,7,8,9,10}; //массив а,в,с
float b[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
float c[20][10]={1};*/
float a[10];
float b[20];
float c[20][10]={1};
//-------------------------------------------------------------
cout<<RUS("Введите массив 10 чисел, a[10]:\n"); //вводим данные
for(j=0;j<10;j++)
{cout<<"a["<<j<<"]="; //цикл для 1 ввода
cin>>a[j];}
//-------------------------------------------------------------
cout<<RUS("Введите массив 20 чисел b[20]:\n");
for(i=0;i<20;i++) //цикл для 2 ввода
{cout<<"b["<<i<<"]=";
cin>>b[i];}
//-------------------------------------------------------------
for (int i=0;i<20;i++) //1 строку массива присваиваем числа из массива 10 чисел
{for (int j=0;j<10;j++)
c[i][0]=b[i];
c[0][j]=a[j];}
//-------------------------------------------------------------
for (int i=0;i<20;i++)
{for (int j=0;j<10;j++)
//заполняем действительную мастрицу формулой C[i][j]=A[j]/B[i]+1
c[i][j]=(a[j]/(b[i]+1));}
//-------------------------------------------------------------
for (int i=0; i<20; i++) //для наилучшего удобства выводим поток в файл матрица.txt
{for (int j=0; j<10; j++)
fprintf(f1,"%2.5f ",c[i][j]);
fprintf(f1,"\n");}
fclose(f1);
cout<<RUS("\nДанные записываются на файл матрица.txt");
getch();
}
//--------------------------------------------------------------
Блок-схема
Описания проделанной работы
В повседневной жизни постоянно приходится сталкиваться с однотипными объектами. Как и многие другие языки высокого уровня, С++ предоставляет программисту возможность работы с наборами однотипных данных - массивами. Отдельная единица таких данных, входящих в массив, называется элементом массива. В качестве элементов массива могут выступать данные любого типа (один тип данных для каждого массива), а также указатели на однотипные данные. Массивы бывают одномерными и многомерными. Поскольку все элементы массива имеют один тип, они также обладают одинаковым размером. Использованию массива в программе предшествует его объявление, резервирующее под массив определенное количество памяти. При этом указывается тип элементов массива, имя массива и его размер. Размер сообщает компилятору, какое количество элементов будет размещено в массиве.
Лабораторная работа №4 посвящена массивам. Надо получить действи-тельную матрицу с размером [сij] i = 1, …, 20, j = 1,…, 10, заполнить матрицу по формуле сij= aj/(1 + |bi|). Запускаем компилированный файл проекта, программа приветствует и просит заполнить массив из 10 действительных чисел а[10]. После ввода первого массива, заполняем второй массив из 20 действительных чисел b[20]. Нажимая Enter, выводится сообщение “Данные записываются на файл матрица.txt”.
Рисунок
7
Рисунок
8