Автор: Пользователь скрыл имя, 13 Сентября 2013 в 20:04, контрольная работа
1. Написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.
2. Составить программу вычисления выражения согласно указанному варианту. Предусмотреть вывод информации о выбранной ветви вычислений.
3. Вывести на экран таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1.
4. Ввести одномерный статический массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива перенести в начало, сохранив исходное взаимное расположение, как среди отрицательных, так и среди остальных элементов массива, и вывести на экран исходные данные и полученный результат.
5. Ввести матрицу размером N на M. Память для массива выделить динамически. Определить количество положительных элементов, расположенных ниже побочной диагонали матрицы. и вывести на экран исходные данные и полученный результат
6. Вводится строка, каждое слово которой отделяется от других слов одним или несколькими пробелами. Найти количество слов, состоящих из пяти символов.
1. Написать программу
вычисления значения выражения
при заданных исходных данных.
Сравнить полученное значение
с указанным правильным
Листинг кода:
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
int main()
{double x, y, z, s;
cout << "x = "; cin >> x;
cout << "y = "; cin >> y;
cout << "z = "; cin >> z;
s = ((2*cos(x-2.0/3.0))/(1.0/2.0+
cout << "x = " << x << "\t y = " << y << "\t z = " << z
<< "\nS = " << s << endl;
cout << "Press any key ... " << endl;
getch();
return 0;}
Демонстрация работы программы:
2. Составить программу вычисления выражения согласно указанному варианту. Предусмотреть вывод информации о выбранной ветви вычислений.
Листинг кода:
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{double x, y, s;
cout << "Input x "; cin >> x;
cout << "Input y "; cin >> y;
if ((x*y)>0) {s = pow(x+y,2)-pow(fabs(x),1.0/3.
cout << "x * y > 0" << endl;
} else if ((x*y)<0) {s = pow(x+y,2)+sin(x);
cout << "x * y < 0" << endl;
} else {s = pow(x+y,2)+pow(y,3);
cout << "x * y = 0" << endl; }
cout << "Rezult S = " << s << endl;
cout <<"Press any key ... " << endl;
getch();}
Демонстрация работы программы:
3. Вывести на экран таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1.
Листинг кода:
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int main()
{ double x, a, b, h, s; int n;
cout << "a = "; cin >> a;
cout << "b = "; cin >> b;
cout << "h = "; cin >> h;
for(x = a; x <= b; x += h)
{ s=0; for (n = 1; n <= 20; n++) s += pow(x,n-1)/(2*n+1);
cout <<"x = " << x <<"\t y(x) = " << s << endl; }
getch();
return 0;}
Демонстрация работы программы:
4. Ввести одномерный статический массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива перенести в начало, сохранив исходное взаимное расположение, как среди отрицательных, так и среди остальных элементов массива, и вывести на экран исходные данные и полученный результат.
Листинг кода:
#include <conio.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{ int k, i, j, buff;
cout << "k = "; cin >> k;
double a[k];
cout <<"Please, input matrix A:" << endl;
for(i = 0; i < k; i ++)
{ cout << "a[" << i << "] = "; cin >> a[i]; }
cout <<"Matrix A:" << endl;
for(i = 0; i < k; i ++) cout << a[i] << " ";
for (i = k-1; i > 1; i --)
for (j = 0; j < k; j ++)
if (a[j+1]<0 && a[j]>0)
{ buff = a[j+1];
a[j+1] = a[j];
a[j] = buff; }
cout <<"\nMatrix A after changes:" << endl;
for(i = 0; i < k; i ++) cout << a[i] << " ";
cout << "\n Press any key ... " << endl;
getch(); }
Демонстрация работы программы:
5. Ввести матрицу размером N на M. Память для массива выделить динамически. Определить количество положительных элементов, расположенных ниже побочной диагонали матрицы. и вывести на экран исходные данные и полученный результат
Листинг кода:
#include <iostream>
using namespace std;
#include <conio.h>
int main ()
{ float **a;
int i, j, n, m, pos_count=0;
cout << "N = "; cin >> n;
cout << "M = "; cin >> m;
a = new float*[n];
for(i = 0; i < n;i ++) a[i] = new float[m];
cout <<"Input Matrix:" << endl;
for(i = 0; i < n; i ++) for(j=0; j<m; j++)
{cout << "A[" << i << "][" << j << "] = "; cin >> a[i][j];}
cout <<"Matrix :" << endl;
for(i = 0; i < n; i ++)
{for(j=0; j<m; j++) cout << "\t" << a[i][j];
cout << endl;}
if (n != m) cout << "Thix matrix haven't diagonal, because n != m"<< endl;
else{for (i = 1; i < n; i ++) for (j = m-i; j < m; j ++) if (a[i][j] > 0) pos_count++;
cout << "Vsego " << pos_count << " elementov >0 nije pobochnoy diagonali" << endl;}
for(i = 0; i < n; i ++) delete [] a[i];
delete []a; a = NULL;
cout << "Delete !" << endl;
cout << " Press any key ... " << endl;
getch();
}
Демонстрация работы программы:
6. Вводится строка, каждое слово которой отделяется от других слов одним или несколькими пробелами. Найти количество слов, состоящих из пяти символов.
Листинг кода:
#include <string.h>
#include <stdio.h>
int main()
{ char st[100], sl[100];
int k = 0, i, w5_count = 0;
puts ("Vvedie stroku");
gets (st);
strcat (st," ");
int n = strlen(st);
for (i=0; i<n; i++)
if (st[i] != ' ')
{ sl[k] = st[i];
sl[k+1] = '\0';
k++; }
else { if (strlen (sl) == 5) w5_count ++;
sl[0] = '\0';
k = 0; }
printf ("Vsego %d slova s 5 bukv", w5_count);
return 0;}
Демонстрация работы программы:
Информация о работе Контрольная работа по "Программированию"