powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с массивами.
35 сообщений из 35, показаны все 2 страниц
Работа с массивами.
    #39000176
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день.

Проверте пожалуйста программу

Сама задача. Дан n - мерный вектор х. Дана функция у=(х^2-2)/(2*x). Требуется найти. Для заданных в массиве х значения аргумента, найти соответствующие и задать их в массиве у.

double[] y, x; int n;

try
{
Console.Write("Vvedite n=");
n = int.Parse(Console.ReadLine());
x = new double [n]; y = new double[n];
for (int i = 0; i < n; i++)
{
Console.Write("Vvedite x[" + i + "] element=");
x[i] = int.Parse(Console.ReadLine());
}
for (int i = 0; i < n; i++)
{
if (x[i] == 0)
{

Console.Write("Pri znaceniye x ravnoye 0, vicesleniya ne budet proisxodit dlya etoqo elemanta");
}

else
{
y[i]=(Math.Pow(x[i],2))/(2*x[i]);
Console.WriteLine("y[" + i + "]=" + y[i]);
}

}
Console.ReadLine();
}
catch
{
Console.WriteLine("Pojalusta vvedite cislo");
}

Заранее спасибо.
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000187
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учимся использовать тэги оформления кода - FAQ

Проверил - программа состоит из букв и цифр.
А что, что-то не работает?
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000188
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что в ней можно улучшить.
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000201
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну правильно я написал алгоритм
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000222
zz118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980что в ней можно улучшить.
Практически все. Каждая строчка нуждается в улучшении.
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000229
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980Ну правильно я написал алгоритмну и молодец, а вопрос-то в чем?
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000246
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zz118 что нужно улучшить
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000272
zz118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980zz118 что нужно улучшить

Для примера:

Console.Write("Vvedite n="); - писать транслитом - дурной тон
n = int.Parse(Console.ReadLine()); - int.TryParse
x = new double [n]; y = new double[n]; - не следует пользоваться массивами, посмотрите в сторону List<T>
for (int i = 0; i < n; i++) - foreach будет смотреться гораздо уютнее
...
Рейтинг: 0 / 0
Работа с массивами.
    #39000706
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
z118 почему вы предлагаете использовать int.TryParse ?
И почемц foreach лучше подходит ?
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001016
zz118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980z118 почему вы предлагаете использовать int.TryParse ?
И почемц foreach лучше подходит ?

1. Потому что TryParse дает тот же эффект, что и Parse, только без возбуждения и перехвата ислючений
2. for-foreach вопрос скорее религиозный, однако если Вы поменяете типы данных на генерики, скорее всего, Вам самим foreach покажется более удобным

http://www.dotnetperls.com/int-parse
http://habrahabr.ru/post/192130/
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001479
Aleksandr1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо учтем.
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001653
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Aleksandr1980,
Сатрапы! Запрещают на ноль делить!
Если введен 0, то надо уведмить пользвателя и поторить ввод.
Иначе не получится вектор нужной длины
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001696
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Aleksandr1980,
Сатрапы! Запрещают на ноль делить!
Если введен 0, то надо уведмить пользвателя и поторить ввод.
Иначе не получится вектор нужной длины

нет! оставьте возможность хоть кому-то увидеть бесконечность
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001700
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980что в ней можно улучшить.

Я бы так написал:

"Проверте пожалуйста программу" ->"ПровеРЬте, пожалуйста, программу"
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001744
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zz118
zz118...
x = new double [n]; y = new double[n]; - не следует пользоваться массивами, посмотрите в сторону List<T>
...
Уж очень сильное утверждение.
Если даёте его начинающему, то не потрудитесь-ли дать разъяснения, почему "не следует" ?
"Посмотрите в сторону List<T>" - как-то не раскрывает сути...
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001794
zz118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Kuznetsovzz118
zz118...
x = new double [n]; y = new double[n]; - не следует пользоваться массивами, посмотрите в сторону List<T>
...
Уж очень сильное утверждение.
Если даёте его начинающему, то не потрудитесь-ли дать разъяснения, почему "не следует" ?
"Посмотрите в сторону List<T>" - как-то не раскрывает сути...

Откровенно говоря, я предполагаю, что человек пойдет и начнет "рыть интернеты" в сторону List<T>, массивов в C# и т.д. В противном случае получается, что ТС пришел с посылом: "решите мою проблему", а не "объясните", а это очень грустный вариант.

С Уважением
...
Рейтинг: 0 / 0
Работа с массивами.
    #39001805
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zz118Alex Kuznetsovzz118
пропущено...
Уж очень сильное утверждение.
Если даёте его начинающему, то не потрудитесь-ли дать разъяснения, почему "не следует" ?
"Посмотрите в сторону List<T>" - как-то не раскрывает сути...

Откровенно говоря, я предполагаю, что человек пойдет и начнет "рыть интернеты" в сторону List<T>, массивов в C# и т.д. В противном случае получается, что ТС пришел с посылом: "решите мою проблему", а не "объясните", а это очень грустный вариант.

С Уважением

да, сейчас всё бросит и пойдёт рыть
...
Рейтинг: 0 / 0
Работа с массивами.
    #39002462
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zz118,
Так значит конкретно Вы не ответили...
Грустно...
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003242
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
zz118не следует пользоваться массивами, посмотрите в сторону List<T>
Код: 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Rabota_s_array
{
    delegate double Funkcia(double chislo);

    class Program
    {
        static double Raschet(double x)
        {
            return Math.Pow(x, 2) / (2 * x);
        }

        static void Main(string[] args)
        {
            int n;
            do
                Console.Write("Vvedite n=");
            while (!Int32.TryParse(Console.ReadLine(), out n));
            Chislo.funkcia = Raschet;
            List<Chislo> LChislo = new List<Chislo>(n);
            (Enumerable.Range(0, n)).ToList<int>().ForEach(l => LChislo.Add(new Chislo()));
            LChislo.ForEach(l => l.Vyvesti());
            Console.ReadKey();
        }
    }

    class Chislo
    {
        double chislo, resultat;
        public static Funkcia funkcia;
        static int indeks;
        int id;
        public Chislo()
        {
            id = ++indeks;
            bool poschitalo = false;
            do
            {
                do
                    Console.Write("Vvedite x[{0}] = ", indeks);
                while (!Double.TryParse(Console.ReadLine(), out chislo));

                resultat = Schitat();
                poschitalo = !resultat.Equals(Double.NaN);

                if (!poschitalo)
                    Console.WriteLine("Nedopustimyi argument. Povtorite vvod.");
            }
            while (!poschitalo);
        }

        double Schitat()
        {
            return funkcia(chislo);
        }

        public void Vyvesti()
        {
            Console.WriteLine("Chislo: {0}. Resultat: {1:F}", chislo, resultat);
        }
    }
}
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003427
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Вы считаете, что сей чудесный образчик работы с "массивами" будет с наскоку понятен юному студенту, который только только начал их изучение?
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003431
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alex Kuznetsov,

Это я посмотрел в сторону List<T>
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003484
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Я так и понял.
А представьте, что студент принесёт этот маленький образец преподавателю, я думаю в этом случае они оба могут засесть за кропотливое изучение возможностей языка, но при этом студент не получит отличной оценки
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003562
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr1980,

Вот тебе в студенческом стиле - все в маин
Код: 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
  static void Main()
        {
            Action<string> writeLn = Console.WriteLine;
            Func<int> readNumber = () =>
            {
                int number;
                while (!int.TryParse(Console.ReadLine(), out number))
                    writeLn("Invalid format, try again");

                return number;
            };

            writeLn("Enter collection length");
            int collectionLength;

            while (true)
            {
                collectionLength = readNumber();
                const int MAX_LENGTH = 5;
                if (collectionLength > 0 && collectionLength <= MAX_LENGTH)
                    break;

                writeLn(string.Format("Number should be between 0 and {0}. Please try again", MAX_LENGTH));
            }

            var xValues = new List<int>(collectionLength);
            foreach (var i in Enumerable.Range(0, collectionLength))
            {
                writeLn(string.Format("Enter '{0}' element of initial collection", i + 1));
                xValues.Add(readNumber());
            }

            writeLn("Resulting collection:" + Environment.NewLine);
            foreach (var xValue in xValues)
            {
                string yValue;
                try
                {
                    checked
                    {
                        yValue = ((xValue * xValue - 2) / (xValue + xValue)).ToString();
                    }
                }
                catch (OverflowException)
                {
                    yValue = "OVERFLOW";
                }
                catch (DivideByZeroException)
                {
                    yValue = "DIVIDE BY ZERO";
                }
                writeLn(yValue);
            }
        }
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003566
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Вот тебе в студенческом стилеа где кривые отступы и грамматические ошибки в сообщениях?
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003578
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

вот тут)
17871237
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003650
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Denis.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 Func<int> readNumber = () =>
            {
                int number;
                while (!int.TryParse(Console.ReadLine(), out number))
                    writeLn("Invalid format, try again");

                return number;
            };


Не зачет! Во второй раз должно быть double!
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003666
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

про числа ничего не уточнено, может вообще длинная арифметика нужна, так что выбрал как мне проще. На пересдачу не хочу.
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003692
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Denis.Cat2,

про числа ничего не уточнено, может вообще длинная арифметика нужна, так что выбрал как мне проще. На пересдачу не хочу.

Aleksandr1980Сама задача. Дан n - мерный вектор х. Дана функция у=(х^2-2)/(2*x). Требуется найти. Для заданных в массиве х значения аргумента, найти соответствующие и задать их в массиве у.

double[] y, x ; int n;
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003697
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.На пересдачу не хочу.
а придётся
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003770
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Это не из, а вариант реализации. Он мог и динамики дуда сунуть
...
Рейтинг: 0 / 0
Работа с массивами.
    #39003825
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Denis.Cat2,
Это не из, а вариант реализации. Он мог и динамики дуда сунуть
Если мог - то должен!
...
Рейтинг: 0 / 0
Работа с массивами.
    #39004000
Фотография mmnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если на чистоту, это даже не смешно, это скорее дикая печаль. Судя по нику, топик стартеру уже больше 30, но видать читать книги, которые продаются на каждом углу, ему не совсем интересно. Вот вы все, участники топика, дайте ответ на вопрос, зачем вам и мне этот топик, неужели в сообществе не найдется что-то более стоящее. Я думаю этот вопрос касается и меня, я хотел бы ответить так - я чувствую себя дураком, что читал это все, пытался анализировать и понять всех вас, толковых и умных людей, ввязавшихся в этот шлак.
...
Рейтинг: 0 / 0
Работа с массивами.
    #39004005
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В промежутках между стОящими вопросами форумное сообщество тихонько работает на холостых оборотах....
...
Рейтинг: 0 / 0
Работа с массивами.
    #39004945
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Denis.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
 while (true)
            {
                collectionLength = readNumber();
                const int MAX_LENGTH = 5;
                if (collectionLength > 0 && collectionLength <= MAX_LENGTH)
                    break;

                writeLn(string.Format("Number should be between 0 and {0}. Please try again", MAX_LENGTH));
            }


Не сразу заметил этот шедевральный цикл!
...
Рейтинг: 0 / 0
Работа с массивами.
    #39005207
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
впредь будь повнимательнее
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с массивами.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]