1 / 1 / 0
Регистрация: 10.04.2015
Сообщений: 43
1

Нахождение итерационным методом с точностью до е корня уравнения

10.04.2015, 18:54. Показов 2114. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить 2 задачки на c# я с ним раньше не сталкивался, а сейчас не успею разобраться во всем. Кто поможет тому +200 к карме лично от моего далай ламы.
1.Составить алгоритм для нахождения итерационным методом с точностью до е корня уравнения 2*x-3*sin(x)=0.
2.Дана строка, содержащая зашифрованный русский текст. Каждая буква заменяется на следующую за ней (буква Я заменяется на А). Получить в новом файле расшифровку данного текста

если можно то с краткими пояснениями действий, буду вникать в суть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2015, 18:54
Ответы с готовыми решениями:

Нахождение корня уравнения x^3 - 2x^2 - 4x + 7 = 0 на отрезке [-3, 3] с точностью еps методом Ньютона
найти решение уравнения x3 – 2x2 –4x + 7 = 0 на отрезке с точностью е методом Ньютона....

Как реализовать нахождение корня уравнения методом секущей и методом хорд
никак не могу понять эти методы

Нахождение корня уравнения методом хорд
Описать функционал (horda f a b eps), который методом хорд находит корень Xk,уравнения F(x)=0 на...

Нахождение корня уравнения методом хорд
y=x^2-4

11
32 / 32 / 18
Регистрация: 11.09.2013
Сообщений: 115
10.04.2015, 20:12 2
Второй пункт:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
namespace test
{  
    class Program
    {
        static void Main(string[] args)
        {
            string word = "Ибебооба тусплб бвгдеёжзиклмнопрстуфхцчшщъыьэюяа"; //Заданная строка
            byte[] textBytes = Encoding.Default.GetBytes(word); //преобразуем эту строку в массив байтов
            byte[] newBytes = new byte[textBytes.Count()]; //создаем новый массив байтов
            for(int i = 0; i < textBytes.Count(); i++) //идём по каждому байту
            {
                if (textBytes[i] != 224) //проверка на букву А
                {
                    if (textBytes[i] > 184) //проверка на то, что это буква
                        newBytes[i] = Convert.ToByte(textBytes[i] - 1); //если это буква и не А, то берём предыдущую букву
                    else
                        newBytes[i] = textBytes[i]; //если это не буква, то оставляем всё без изменений
                }
                else
                    newBytes[i] = 255; //если это А, то меняем её на Я
            }
            Console.WriteLine(Encoding.Default.GetString(newBytes)); //преобазуем массив байтов обратно в строку и выводим на экран
            Console.ReadKey();
        }
    }
}
0
1 / 1 / 0
Регистрация: 10.04.2015
Сообщений: 43
10.04.2015, 20:31  [ТС] 3
омг ужасный язык.... а можно ее как то зациклить на весь алфавит?
0
32 / 32 / 18
Регистрация: 11.09.2013
Сообщений: 115
10.04.2015, 22:14 4
Цитата Сообщение от enuck Посмотреть сообщение
а можно ее как то зациклить на весь алфавит?
Что значит зациклить на весь алфавит? Вам же нужно было расшифровать строку? Или я вас неправильно понял?
0
Master of Orion
Эксперт .NET
6099 / 4955 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.04.2015, 22:23 5
Цитата Сообщение от enuck Посмотреть сообщение
омг ужасный язык.... а можно ее как то зациклить на весь алфавит?
чего в нем ужасного, замечательный язык
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
 
class Program
{
    
    static void Main()
    {
        string s = "если можно то с краткими пояснениями действий, буду вникать в суть";
 
        string encoded = Shift(s, -1);
        Console.WriteLine(encoded);
        string decoded = Shift(encoded, 1);
        Console.WriteLine(decoded);
    }
 
    private static string Shift(string s, int i)
    {
        char[] result = s.ToCharArray();
        for (int j = 0; j < result.Length; j++)
        {
            if (!char.IsLetter(result[j]))
                continue;
            int c = result[j] + i;
            if (c > 'я')
                c -= 'я' - 'а' + 1;
            else if (c < 'а')
                c += 'я' - 'а' + 1;
            result[j] = (char) c;
        }
        return new string(result);
    }
}
Добавлено через 1 минуту
написал для случая, когда в строке нет больших букв - как видно, захардкожены 'я' и 'а', можно в принципе за счёт двух строк еще для них сделать.
2
Эксперт .NETАвтор FAQ
10416 / 5146 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
10.04.2015, 23:05 6
Psilon, ё
0
Master of Orion
Эксперт .NET
6099 / 4955 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.04.2015, 00:11 7
Storm23, я не виноват, что её закинули в таблице хрен знает куда Писать отдельный обработчик для ё тот еще геморрой. Я даже большие не написал тут
0
1 / 1 / 0
Регистрация: 10.04.2015
Сообщений: 43
11.04.2015, 01:23  [ТС] 8
насколько я понял они просят, что дается допустим зашифрованное слово "рсйгёу" - "привет" и при его вводе должна производиться дишифрация всего слова. я примерно представляю как это можно сделать в том же паскале, что то в виде: а:=1,б:=2,в:=3 и тд. if writeln (б) then readln (1) это очеень грубо говоря. если бы они конечно просили заменять только а на я было бы проще.

Добавлено через 11 минут
вернее if read (б) then write (1) с паскалем тоже все плохо)) но не суть)
0
Master of Orion
Эксперт .NET
6099 / 4955 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.04.2015, 08:26 9
enuck, функция Shift сдвинет на заданное количество символов строку, в вашем случае - 1 или -1, лень вчитываться в задание. Буква "ё" не используется - то есть 32 буквы фактически используем, а не 33. Ну и на паскале было бы всё то же самое, от языка тут ничего не зависит.
0
1 / 1 / 0
Регистрация: 10.04.2015
Сообщений: 43
26.05.2015, 16:37  [ТС] 10
шикарно, почти все понял, а как сделать так чтобы текст можно было вводить в консоле а не в коде, так сказать пользовательский вариант.

Добавлено через 17 минут
понял спс. а по первой задачке есть у кого варианты?
0
32 / 32 / 18
Регистрация: 11.09.2013
Сообщений: 115
26.05.2015, 21:47 11
enuck,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            var a = -100; //предполагаем, что корни лежат в диапазоне от -100 до 100
            var b = 100;
            var e = 0.001;  //точность вычисления
            Func<double, double> func = (x) => 2 * x - 3 * Math.Sin(x);
            new Solver().Solve(func, a, b, 0.001, e);
            Console.ReadLine();
        }
    }
 
    class Solver
    {
        public void Solve(Func<double, double> function, double from, double to, double step, double e)
        {
            List<double> result = new List<double>(); //список корней
            for (double x = from; x < to; x += step) //проходим от -100 до 100 с шагом 0.001
            {
                if (function(x) > -e && function(x) < e) //проверяем, является ли решением с заданной точностью текущий икс
                    result.Add(x); //если да, то добавляем в список корней уравнения
            }
            Console.WriteLine(" С точностью до {0} корни уравнения:", e);
            foreach (var res in result)
                Console.WriteLine(Math.Round(res, 5)); //округляем до 5 знаков после запятой
        }
    }
}
1
1 / 1 / 0
Регистрация: 10.04.2015
Сообщений: 43
04.06.2015, 14:17  [ТС] 12
как наглядно показать ручной просчет ?
0
04.06.2015, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2015, 14:17
Помогаю со студенческими работами здесь

Нахождение корня уравнения методом дихотомии
Программа должна находить корень уравнения методом дихотомии. Изменяя параметр w, мы должны...

Нахождение корня уравнения методом казательных
Реализация метода касательных. При ручном решении и во всяких калькуляторах дает ответ -10,261 за 4...

Нахождение корня уравнения методом простых итераций
Помогите пожалуйста! Составить программу, реализующую на компьютере метод простых итераций.(найти...

Нахождение корня уравнения методом половинного деления
Вообщем дорогие друзья спасайте. Препод сказал сделать программу которая решает методом половинного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru