Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

решение задач

.docx
Скачиваний:
69
Добавлен:
15.06.2014
Размер:
18.86 Кб
Скачать

//Вычислить сумму ряда:

double sum1 = 1, sum2 = sum1;

int n = 2;

while (true)

{

sum2 += (double)1 / (n * n);

if (sum2 - sum1 <= 0.00001)

break;

sum1 = sum2;

n++;

}

//Дан массив из N действительных чисел. Найти среднее арифметическое массива.

int[,] a;

int n;

int sum=0;

for(int i=0;i<n;i++)

{

sum+=a[i];

}

double otvet=sum/n;

/*Дан массив из N натуральных чисел. Найти наибольшее

в массиве число и разделить на него

значения всех элементов. Полученные действительный

числа поместить в новый, динамически

созданный массив.*/

int[] a;

int n = 5, max = a[0];

for (int i = 1; i < n; i++)

{

if (a[i] > max)

max = a[i];

}

double[] b = new double[n];

for (int i = 0; i < n; i++)

{

b[i] = (double)a[i] / max;

}

/*Дан массив из N символов (тип char[]).

Отсортировать этот массив лексикографически (по

возрастанию кода символа). */

char[] a;

int n;

for (int i = 0; i < n - 1; i++)

{

for (int j = i + 1; j < n; j++)

{

if (a[i] > a[j])

{

char c = a[i];

a[i] = a[j];

a[j] = c;

}

}

}

/*Дан массив символов (тип char[]).

Посчитать сумму кодов всех символов, используя конструкцию

foreach. */

char[] a;

int sum=0;

foreach(char c in a)

{

sum+=c;

}

/*Дан упорядоченный по возрастанию массив

из N целых чисел. Найти число, наиболее близкое к

числу 17.*/

int n;

int[] a,

b = new int[n];

for (int i = 0; i < n; i++)

{

b[i] = Math.Abs(a[i] - 17);

}

int mmin = 0, min = b[0];

for (int i = 1; i < n; i++)

{

if (b[i] < min)

{

min = b[i];

mmin = i;

}

}

/*Дан циклический* массив, состоящий из N элементов

и число j – позиция элемента в массиве.

Найти номер элемента, на котором мы окажемся,

если пройдем вперед по массиву на k позиций.

*индексы циклического массива представляют собой

замкнутый круг (т.е. последний и первый

элементы являются соседями)*/

int[] a;

int j, k, n;

j += k % n;

if (j >= n)

j -= n;

/*Дана действительная матрица A размерностью 3x3.

Вычислить ее определитель. */

int[,] a;

int det=a[1,1]*a[2,2]*a[3,3]+

a[2,1]*a[3,2]*a[1,3]+

a[1,1]*a[2,2]*a[3,3]-(a[3,1]*a[2,2]*a[1,3]+

a[1,1]*a[3,2]*a[2,3]+

a[1,2]*a[2,1]*a[3,3])

/*Дана действительная матрица размерностью NхN.

Перевернуть ее слева направо (первый столбец

станет последним и наоборот).*/

int n;

int[,] a;

for (int i = 0; i < n / 2; i++)

{

for (int j = 0; j < n; j++)

{

int c = a[j, i];

a[j, i] = a[j, n - i - 1];

a[j, n - i - 1] = c;

}

}

/*Дана действительная матрица размерностью NхN.

Требуется ее транспонировать.*/

int n;

int[,] a;

for (int i = 0; i < n; i++)

{

for (int j = i; j < n; j++)

{

int c = a[j, i];

a[j, i] = a[i, j];

a[i, j] = c;

}

}

/*Дана строка символов. Выяснить, содержит ли строка цифры.*/

string s;

int n = s.Length;

for (int i = 0; i < n; i++)

{

if(s[i]>='0'&&s[i]<='9')

{

label.Text = "Есть цифры";

return;

}

}

label.Text = "цифр нет!";

/*Дана строка символов. Заменить все идущие подряд пробелы одним. */

string s;

while (true)

{

string t = s.Replace(" ", " ");

if (s == t)

break;

s = t;

}

/*Дана строка символов. Заменить все имеющиеся в

строке буквы «у» на сочетание «(у)» (буква «у»

в скобках). */

string s;

s = s.Replace("у", "(у)");

/*Дано слово. Поменять в нем местами первый и последний,

второй и предпоследний, третий и

второй с конца и так далее символы.*/

char[] s;

int n = s.Count();

for (int i = 0; i < n / 2; i++)

{

char c = s[i];

s[i] = s[n - i - 1];

s[n - i - 1] = c;

}

/*Даны два массива целых чисел из N элементов.

Если сумма элементов двух массивов с

одинаковыми индексами четна, то обнулить

соответствующий элемент первого массива.*/

int n;

int[] a, b;

for (int i = 0; i < n; i++)

{

if ((a[i] + b[i]) % 2 == 0)

a[i] = 0;

}

/*Даны матрица A и матрица B, обе – размерностью NxM.

Вычислить матрицу C по следующему правилу:

- если a [i,j] > b[i,j], то c[i,j] = i+j;

- иначе, c[i,j] = i – j.*/

int n, m;

int[,] a, b, c = new int[n, m];

for (int i = 0; i < n; i++)

{

for (int j = 0; j < n; i++)

{

if (a[i, j] > b[i, j])

c[i, j] = i + j;

else

c[i, j] = i - j;

}

}

/*Задана функция f = 5x^3 + 4x^2 + 3x.

Вычислить значение функции для заданного x.*/

double x,f;

f=5*x*x*x+4*x*x+3*x;

/*Создать массив из 20 элементов.

Заполнить его первыми двадцатью простыми числами.

Для справки: просто число – это такое число,

которое делится нацело только на единицу и на самого

себя; первые десять простых чисел: 1, 2, 3, 5, 7, 11, 13, 17, 19, 23. */

int i = 1, k = 0;

int[] a = new int[20];

while (true)

{

bool prostoe = true;

for (int j = 2; j < i - 1; j++)

{

if (i % j == 0)

{

prostoe = false;

break;

}

}

if (prostoe == true)

{

a[k] = i;

k++;

if (k == 20)

break;

}

i++;

}