решение задач
.docx//Вычислить сумму ряда:
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++;
}