Форум
Файлы
Воскресенье, 22.12.2024
, 07:17
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход
(
быстрый
)
Регистрация
Категории каталога
Другое
[19]
Форма входа
Логин:
Пароль:
запомнить
Забыл пароль
|
Регистрация
Поиск
Статистика
Онлайн всего:
22
Гостей:
22
Пользователей:
0
Файловый архив
Файлы
»
МиНТиС
»
Другое
Лабораторная работа №1 вариант 6
Подробности о скачивании
15.06.2013, 03:05
Вариант 6.
Задание №1
Написать программу вычисления значения выражения при заданных ис-
ходных данных. Сравнить полученное значение с указанным правильным ре-
зультатом.
<br /><br /> Код программы:
#include <iostream.h>
#include <math.h> <br /><br /> int main()
{
double x,y,z,s;
cout<<"Vvedite chislo x: ";
cin>>x;
cout<<"Vvedite chislo y: ";
cin>>y;
cout<<"Vvedite chislo z: ";
cin>>z;
s = sqrt(10*(pow(x,1.0/3.0) + pow(x,y+2)));
<br /> s *= pow(asin(z),2) - fabs(x-y);
cout<<"s = "<<s<<endl;
return 0;
}
<br /> Рисунок 1 – Результат выполнения программы <br /><br /> Задание №2
Составить программу вычисления выражения согласно указанному варианту. Предусмотреть вывод информации о выбранной ветви вычислений.
<br /> Код программы:
#include <iostream.h>
#include <math.h> <br /><br /> int main()
{
double x,y,s;
cout<<"Vvedite chislo x: ";
cin>>x;
cout<<"Vvedite chislo y: ";
cin>>y;
if(x*y>0.5 && x*y<10)
{
s = exp(x-fabs(y));
cout<<"\nVetv 1\n";
}
else
{
if(x*y>0.1 && x*y<0.5)
{
s = pow(fabs(x+y),1.0/3.0);
cout<<"\nVetv 2\n";
}
else
{
s = 2*x*x;
cout<<"\nVetv 3\n";
}
}
cout<<"\nResult s = "<<s<<endl;
return 0;
} <br /><br />
<br />
Рисунок 2 – Результаты выполнения программы <br /><br /> Задание №3
Вывести на экран таблицу значений функции y(x) для x, изменяющегося от
a = 0,1 до b = 1,2 с шагом h = 0,1.
<br /><br /> Код программы:
#include <iostream.h>
#include <iomanip.h>
#include <math.h> <br /><br /> double Summa(double x, int k);
void Summa(double &x, int &k, double &y);
void Summa(double *x, int *k, double *y); <br /><br /> int main()
{
double y, x, a, b, h;
int n;
cout<<"Vvedite chislo a: ";
cin>>a;
cout<<"Vvedite chislo b: ";
cin>>b;
cout<<"Vvedite chislo h: ";
cin>>h;
cout<<"Vvedite chislo n: ";
cin>>n;
cout<<"\n Value"<<setw(20)<<"Pointer"<<setw(24)<<"Reference\n";
x=a;
do
{
cout<<setw(5)<<x<<setw(10)<<Summa(x, n);
Summa (&x, &n,&y);
cout<<setw(10)<<x<<setw(10)<<y;
Summa (x, n, y);
cout<<setw(10)<<x<<setw(10)<<y<<endl;
x+=h;
}
while (x<=b+h/2);
cout<<endl;
return 0;
} <br /><br /> double Summa(double x, int k)
{
double y = pow(x,-2);
int i;
for(i = 1; i <= k; i++)
{
y += pow(x,2*k-2)/(2*k+1);
}
return y;
} <br /><br /> void Summa(double &x, int &k, double &y)
{
y = pow(x,-2);
int i;
for(i = 1; i <= k; i++)
{
y += pow(x,2*k-2)/(2*k+1);
}
} <br /><br /> void Summa(double *x, int *k, double *y)
{
*y = pow(*x,-2);
int i;
for(i = 1; i <= *k; i++)
{
*y += pow(*x,2*(*k)-2)/(2*(*k)+1);
}
}
<br /> Рисунок 3 – Результат выполнения программы <br /><br /> Задание №4
Ввести одномерный статический массив из k чисел. Выполнить в соот-
ветствии с номером варианта индивидуальное задание и вывести на экран ис-
ходные данные и полученный результат.
.
Код программы:
#include <iostream.h>
#include <iomanip.h> <br /><br /> int Pos (int a[],int n);
int Sum(int a[], int ipos, int n);
int Count(int a[], int ipos, int n); <br /><br /> int main()
{
const int N = 20;
int a[N], i, k, n, ipos;
cout<<"Vvedite razmer massiva(1..20): ";
cin>>k;
cout<<"\nVvedite massiv:\n";
if(k>N || k<1)
{
k=N;
cout<<"Neverni razmer massiva, N = "<<N<<endl;
}
for (i = 0; i < k; i++)
{
cout<<"Vvedite a["<<i<<"]= ";
cin>>a[i];
}
cout<<"\nMassiv a:\n";
for (i = 0; i < k; i++)
cout<<setw(7)<<a[i];
cout<<"\nVvedite sdvig: ";
cin>>n;
cout<<endl; <br /><br /> for (int j = 0; j<n; j++)
{
int temp=a[0];
for (i=0; i<k-1;i++)
a[i]=a[i+1];
a[k-1]=temp;
}
for (i = 0; i < k; i++)
cout<<setw(7)<<a[i];
cout<<endl;
return 0;
}
<br /> Рисунок 4 – Результат выполнения программы <br /><br /> Задание №5
Ввести матрицу размером NxM. Память для массива выделить динами-
чески. Выполнить в соответствии с номером варианта индивидуальное зада-
ние и вывести на экран исходные данные и полученный результат.
<br /> Код программы:\
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h> <br /><br /> int MainDiag(int **a, int N);
int SecondDiag(int **a, int N); <br /><br /> int main()
{
int **a, i, j, N;
cout<<"Vvedite razmer matrici: ";
cin>>N;
a = new int*[N];
for (i = 0; i < N; i++)
a[i] = new int[N];
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
{
cout << "Vvedite a[" << i << "][" << j << "]: ";
cin >> a[i][j];
}
<br /> for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
cout<<setw(5)<<a[i][j];
cout<<endl;
}
cout<<endl;
cout<<"\nGlavnaia diagonal = "<<MainDiag(a, N)<<endl;
cout<<"\nPobochnaia diagonal = "<<SecondDiag(a, N)<<endl;
return 0;
} <br /><br /> int MainDiag(int **a, int N)
{
int count = 0;
for(int i = 0; i<N; i++)
{
if( a[i][i] % 2 == 0)
count++;
}
return count;
} <br /><br /> int SecondDiag(int **a, int N)
{
int count = 0;
for(int i = 0; i<N; i++)
{
if( a[N-1-i][i] % 2 == 0)
count++;
}
return count;
}
<br /> Рисунок 5 – Результат выполнения программы <br /><br /> Задание №6
Вводится строка, каждое слово которой отделяется от других слов од-
ним или несколькими пробелами. Выполнить в соответствии с номером вари-
анта индивидуальное задание и вывести на экран полученный результат.
<br /> Код программы:
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h> <br /><br /> void delSpace(char str[]); <br /><br /> int main()
{
int i, length, lengthNew, count = 0;
char find[] = "sas";
char str[100];
puts("Vvedite stroky:");
gets(str);
length = strlen(str);
i = 0;
while (true)
{
if(str[i] == ' ' || str[i] == '\0')
{
char temp[100];
temp[0]='\0';
strncpy(temp,str,i);
temp[i]='\0';
strncpy(str,str+i,length-1);
length = length - i;
str[length] = '\0'; <br /><br /> if(strstr(temp, find) != NULL)
{
count++;
puts(temp);
}
delSpace(str);
i = 0;
}
if(str[i] == '\0')
{
break;
}
i++;
}
if(count == 0)
puts("Slov s podstrokoi 'sas' net");
return 0;
} <br /><br /> void delSpace(char str[])
{
int i = 0, length = strlen(str);
if(str[0] == ' ')
{
while(str[i] == ' ')
{
i++;
}
strncpy(str,str+i,length - 1);
str[length - i] = '\0';
}
} <br /><br />
Рисунок 6 – Результат выполнения программы
Категория:
Другое
| Добавил:
GDV200302
Просмотров:
1194
| Загрузок:
6
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]