Автор работы: Пользователь скрыл имя, 18 Марта 2012 в 22:29, курсовая работа
В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент, Получить квадратную матрицу порядка n-1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ
ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
«Разработка программ на С++ и в системе MathCAD»
Вариант № 26
Автор реферата:
Носов П. Д.
Гр. РС-21
ФИТ
Руководитель семинара:
Назарова М.В.
Москва 2009
Вариант 26
Номера задач:
№9
Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения.
№116г
Даны натуральное число n, действительное число x. Вычислить: при n≥1 произведение
№555
Треугольник Паскаля называется числовой треугольник
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
…………………………………………………….
в котором по краям стоят единицы, а каждое число внутри равно сумме двух стоящих над ним в ближайшей строке сверху. Дано натуральное n. Получить первые n строк треугольника Паскаля.
№ 684
В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент, Получить квадратную матрицу порядка n-1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением
№406*
Пусть задан вектор х (х1, х2, х3… хn). Составить подпрограмму-функцию для вычисления величины.
N=0, если х1≠0
N=n, если х1= х2= х3=…- хn=0
N=m, если х1= х2= х3=…=хm=0 и хm+1≠0 (m<n)
Задача № 9
Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения.
Дано: R1, R2, R3
Найти: G=1/ R1+1/ R2+1/ R3
S=1/G
Алгоритм:
1) Запрос и ввод
2) Вычисление G
3) Вычисление S
4) Вывод S
#include <vcl.h> // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma hdrstop // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma argsused // Я не знаю что это означает, оно автоматически задается в Builder6
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<complex.h>
complex <double> resist(complex <double> R1, complex <double> R2,complex <double> R3);
complex <double> resist(complex <double> R1, complex <double> R2,complex <double> R3)
{
complex <double> Re;
complex <double> one;
one=1;
Re=one/((one/R1)+(one/R2)+(
return Re;
}
void main(){
complex <double> R1; //объявление переменных сопротивлений
complex <double> R2;
complex <double> R3;
complex <double> Re;
cout<<"vvedite resistor R1:"<<endl; // Ввод значений сопротивлений
cin>>R1;
cout<<"vvedite resistor R2:"<<endl;
cin>>R2;
cout<<"vvedite resistor R3:"<<endl;
cin>>R3;
Re=resist(R1,R2,R3); // вызов ф-ции resist и вычисление эквивалентного сопротивления
cout<<"R1="<<R1<<" "<<"R2="<<R2<<" "<<"R3="<<R3<<endl; //эхо вывод на экран
cout<<"ekviv soprotivlenie Re="<<Re<<endl;
ofstream ptk("k9.txt"); //объявление потока вывода
if(ptk==0)cout<<"error otkr faila"<<endl; //проверка открытия файла
ptk<<"R1="<<R1<<" "<<"R2="<<R2<<" "<<"R3="<<R3<<endl; //эхо-вывод в файл
ptk<<"ekviv soprotivlenie Re="<<Re<<endl;
getch();
}
Тест: вводим 1 1 1
Результат: S=0.3333
Задача №116 г
Даны натуральное число n, действительное число x. Вычислить: при n≥1 произведение
Дано: n, x
Вычислить:
Алгоритм:
1) Запрос и ввод
2) Объявление действительной переменной х и ее обнуление
3) Объявление натуральной переменной n и ее обнуление
4) Объявление значения ряда
5) Объявление счетчика цикла
6) Вычисление и вывод
#include <vcl.h> // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma hdrstop // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma argsused // Я не знаю что это означает, оно автоматически задается в Builder6
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<fstream.h>
double fact(int x); // прототип функции факториала
double fact(int x){
int i;
double r=1;
if(x==0)return 1;
for(i=1;i<=x;i++)r=r*i;
return(r);
}
void main(){
double x=0; // объявление действительной переменной х и ее обнуление
int n=0; // объявление натуральной переменной n и ее обнуление
double pro=1; // объявление значения ряда
int k; // объявление счетчика цикла
cout<<"vvedite deistv x:"<<endl; //запрос х
cin>>x; //ввод x
cout<<"vvedite natur n:"<<endl; //запрос n
cin>>n; //ввод n
for(k=0;k<n;k++)
pro *= (1+sin((k+1)*x)/fact(k+1)); //вычисление ряда
cout<<"x="<<x<<" "<<"n="<<n<<endl; //эхо-вывод на экран
cout<<"ryad ="<<pro<<endl;
ofstream ptk("k116.txt"); //объявление потока вывода
if(ptk==0)cout<<"error otkr faila"<<endl; //проверка открытия файла
ptk<<"x="<<x<<" "<<"n="<<n<<endl; //эхо-вывод в файл
ptk<<"ryad ="<<pro<<endl;
getch();
}
Тест: вводим x=1 n=3
Получаем: 2.7417
Задача № 555
Треугольник Паскаля называется числовой треугольник
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
…………………………………………………….
в котором по краям стоят единицы, а каждое число внутри равно сумме двух стоящих над ним в ближайшей строке сверху. Дано натуральное n. Получить первые n строк треугольника Паскаля.
Дано:n
Получить: n строк треугольника Паскаля
Алгоритм:
1) Создаем массив (2n+1)хn, заполняем первую строчку нулями, кроме n+1ой позиции, куда ставим 1
2) Первый и последний столбец заполняем нулями.
3) Все оставшиеся позиции заполняем следующим образом: MasA[i][j]=MasA[i-1][j-1]+MasA
4) Выводим на экран массив, только заменяем нули пробелами.
#include <vcl.h> // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma hdrstop // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma argsused // Я не знаю что это означает, оно автоматически задается в Builder6
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int i,j;
int n;
int MasA[101][101];
cout<<"vvedite 0<n<=50"<<endl; // запрос, ввод и проверка n.
cin>>n;
while(n>50||n==0||n<0){
cout<<"Error! 0<n<=50"<<endl;
cout<<"vvedite 0<n<=50"<<endl;
cin>>n;}
for(i=0;i<2*n+1;i++){ // Пунт 1.
if(i==n)
MasA[0][i]=1;
else MasA[0][i]=0;
}
for(i=0;i<n;i++){ //Пункт 2.
MasA[i][0]=0;
MasA[i][2*n]=0;
}
for(i=1;i<n;i++) //Пункт 3.
for(j=1;j<2*n;j++)
MasA[i][j]=MasA[i-1][j-1]+
for(i=0;i<n;i++){ // Пункт 4.
for(j=0;j<2*n+1;j++){
if(MasA[i][j]==0)
cout<<setw(3)<<" "; // setw - форматирование данных,
else
cout<<setw(3)<<MasA[i][j];
}
cout<<endl;
}
ofstream ptk("k555.txt"); // Объявление потока вывода в файл
if(ptk==0)cout<<"error otkr faila"<<endl;
for(i=0;i<n;i++){ // Эхо вывод в файл.
for(j=0;j<2*n+1;j++){
if(MasA[i][j]==0)
ptk<<setw(3)<<" ";
else
ptk<<setw(3)<<MasA[i][j];
}
ptk<<endl;
}
getch();
}
Тест:
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
Задача №684
В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент, Получить квадратную матрицу порядка n-1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением
Алгоритм:
1) Задаем массив
2) Запрашиваем и вводим n
3) Вводим первый массив
4) Находим максимальное число в массиве
5) Записываем второй массив n-1xn-1
6) Выводим оба массива
#include <vcl.h> // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma hdrstop // Я не знаю что это означает, оно автоматически задается в Builder6
#pragma argsused // Я не знаю что это означает, оно автоматически задается в Builder6
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int n;
int i,j;
int i0,j0;
double masA[50][50]; //заданный массив nxn
double masB[49][49]; //получаемый из первого массив
double max;
cout<<"vvedite 0<n<=50"<<endl; // запрос, ввод и проверка n.
cin>>n;
while(n>50||n==0||n<0){
cout<<"Error! 0<n<=50"<<endl;
cout<<"vvedite 0<n<=50"<<endl;
Информация о работе Разработка программ на С++ и в системе MathCAD