powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с массивами.
25 сообщений из 35, страница 1 из 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
25 сообщений из 35, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с массивами.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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