RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-195664

beginner's questions

Martin Hope
beginner
Asked: 2022-08-26 14:06:43 +0000 UTC

通过 SQL 查询搜索具有特定名称的文件夹 [关闭]

  • 0
关闭。这个问题需要澄清或补充细节。目前不接受回复。

你想改进这个问题吗?通过编辑此帖子添加更多详细信息并澄清问题。

1 个月前关闭。

改进问题

请告诉我,是否可以sql通过 -request 找到具有给定名称的文件夹或目录?例如,我创建了一个请求,我需要在请求中指定一个名为 let's say 的文件夹2022。它有这样的机制Oracle PL\SQL Developer吗?没有用户和客户端程序,比机械地通过SELECT, FROM, WHERE等等。

sql
  • 1 个回答
  • 27 Views
Martin Hope
beginner
Asked: 2022-08-25 18:57:26 +0000 UTC

在已形成的号码前添加 3 个新号码

  • 0

您需要188在已经形成的数字之前添加一个数字,例如,有一个数字110 0000 000。而且我需要执行任务188 110 0000 000。最大的数值varchar,我认为它可能会花费这么多。

update myTable1 myTbl
 set myTbl.NMBCODE='188'+myTbl.NMBCODE       --- вставляем символы числа перед основной строковой переменной(оба значения varchar),конкатенация..

但是这个方法是不正确的,因为+myTbl.TNMBCODE出现了错误ORA01722-Invalid Number

请告诉我有什么机制可以解决这个问题。

oracle
  • 1 个回答
  • 13 Views
Martin Hope
beginner
Asked: 2020-02-16 00:23:01 +0000 UTC

我运行脚本,它给出了 TypeError: Cannot Use a string pattern on a bytes-like object

  • 0

脚本代码

#!/usr/bin/env python

import zlib
import sys
import re
import binascii


if(len(sys.argv) < 2 or sys.argv[1] == "-h"):
    print("usage: python DecompNewDell.py <biosupdate.exe>")
    exit()


f = open(sys.argv[1], "rb")

string = f.read()

pat = re.compile(r'.{4}\xAA\xEE\xAA\x76\x1B\xEC\xBB\x20\xF1\xE6\x51.{1}\x78\x9C')


match = pat.search(string)

(start_match, end_match) = match.span()
compessed_len = string[start_match:start_match+4]

compessed_len = binascii.b2a_hex(compessed_len[::-1])
compessed_len = long(compessed_len, 16)
f.seek(start_match+16)
string = f.read(compessed_len)

o = zlib.decompress(string)

f2 = open(sys.argv[1] + "_decompressed.hdr", "wb")
f2.write(o)
f.close()
f2.close()
print("Decompressed data written to %s_decompressed.hdr" % sys.argv[1])

我从命令行执行(文件位于脚本旁边,即在桌面上.exe),结果它在行上发出警报match = pat.search(string) 在此处输入图像描述

python
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-11-09 19:40:55 +0000 UTC

不输出指定的行数

  • 0

我正在Python学习,这样的练习有一个小问题(我正在根据 Summerfield 的书学习 - “Programming in Python3. A detail guide”)

练习本身被缩短了,但任务可以理解 所以从 4 个已经填写的列表(文章、名词、动词、副词)中使用 5 个循环生成句子random.choice()。这样一个收到的诗句有5行,每一行都有这样随机选择的句子。

我做了什么

-创建4个列表,变量line=5(行数)

- 暂时执行while一个有这种条件的循环line!=5

-在循环本身中,已经有内部循环用于迭代每个列表的值,在帮助下选择其中一个并将其random.choice()显示在屏幕上。

问题如下:

我在Ubuntu终端中工作并使用我启动我的迷你应用程序,但它没有启动,但它只是换行到终端的下一行(好像命令已执行 - 见图)

在此处输入图像描述

Код:
#!/usr/bin/env python3

import random
import sys

listarticles=["the","a","for","an","this","that","those"]
listsush=["cat","dog","man","woman","duck","girl","boy"]
listglag=["sing","walk","run","drink","eat","sleep","cry"]
listnarech=["loudly","fastly","well","badly","quietly","ugly","blackly"]

line = 5
while line!=5:
     for ls1 in listarticles:
        ls1 = random.choice(listarticles)
        print(ls1)
     for ls2 in listsush:
        ls2 = random.choice(listsush)
        print(ls2)
     for ls3 in listglag:   
        ls3 = random.choice(listglag)
        print(ls3)
     for ls4 in listnarech:
        ls4 = random.choice(listnarech)
        print(ls4)
     line+=1
python
  • 3 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-08-08 20:02:35 +0000 UTC

使用 QCustomPlot 创建函数图

  • 0

QCustomPlot 被用作在 Qt Creator 中绘图的辅助工具(在编译示例时正确安装)

inline double fn(int T, double x)
             {
                 if (x >= 0)
                     return T;
                 return 0;
             }



   void MainWindow::drawfunc(int valT, int xmin, int xmax) //Вывод функции Хэвисайда
    {
        double hh =0.01;
    int N = (xmax-xmin)/hh;//считается количество точек для массивов координат xmax=10,xmin=-5 итого 1500

QVector<double> x11(N), y11(N); // //Массивы координат точек
int i=0;
               for (double x = xmin; x < xmax; x +=hh)
               {
                  x11[i]=x;
                  y11[i]=fn(valT,x);
                  i++;
               }
        ui->widget->clearGraphs();
        ui->widget->addGraph();
        ui->widget->graph(0)->setData(x11, y11);
        // задаем имена осей координат
        ui->widget->xAxis->setLabel("x");
        ui->widget->yAxis->setLabel("y");
        // задаем размеры осей
        ui->widget->xAxis->setRange(xmin, xmax);       
        ui->widget->replot();
    }

问题是图没有画出来,抛出异常

在此处输入图像描述

ASSERT failure in QVector<T>::operator[]: "index out of range", file ..\..\..\..\Qt\5.3\mingw482_32\include/QtCore/qvector.h, line 385

一步步调试,结果是:

- 一个问题由于QVector

在此处输入图像描述

点数为1500(手动计算公式),Qt Creator给出1499。

简单的技巧如

int N = ((xmax-xmin)/hh)+1 или `QVector<double> x11(N+1), y11(N+1)` `i=1`

也抛出异常..

c++
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-05-13 22:43:25 +0000 UTC

无法通过 OpenFileDialog 打开文件

  • 0

窗体上有一个按钮,它应该使用 OpenFileDialog 打开文本文件(也就是说,文本文件散落在计算机周围,或者你需要打开的不是一个特定的,而是每次都不同,但没关系)

private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog opnfldlg = new OpenFileDialog();
            opnfldlg.InitialDirectory = "c:\\";
            opnfldlg.Filter = "txt files(*.txt)|*.txt|All Files(*.*)|*.*";
            opnfldlg.FilterIndex = 2;
            opnfldlg.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {                                
                         DataSet ds = new DataSet();
                         ds.Tables.Add("Temp");

                         StreamReader stred = new 
                         StreamReader(opnfldlg.FileName);//Исключение!

                         string firstLine = stred.ReadLine();
                         //массив имен колонок из файла
                         string[] arraNameColumn = 
 System.Text.RegularExpressions.Regex.Split(firstLine, ";");
                         for (int i = 0; i < arraNameColumn.Length; i++)
                         {
                             ds.Tables[0].Columns.Add(arraNameColumn[i]);
                         }

                         string Line = stred.ReadLine();
                         while (Line != null)
                         {
            string[] arraCell = System.Text.RegularExpressions.Regex.Split(Line, ";");
                             ds.Tables[0].Rows.Add(arraCell);
                             Line = stred.ReadLine();
                         }
                         dataGridView1.DataSource = ds.Tables[0];                  
                         stred.Close();
                         dataGridView1.AllowUserToAddRows = false;
                            }                                   
            }

但是这一行抛出异常

StreamReader stred = new  StreamReader(opnfldlg.FileName)

Необработанное исключение типа "System.ArgumentException" в mscorlib.dll 
Дополнительные сведения: Пустое имя пути не допускается.

在 OpenFileDialog 声明之后添加了以下内容:

FileIOPermission fioper = new FileIOPermission(PermissionState.Unrestricted);
 fioper.AllLocalFiles = FileIOPermissionAccess.Read;

但无济于事。

逐步调试显示以下内容,即未在任何地方指示正在打开的文件的名称。应该不是这样吧。

那么问题呢?如果他自己都不能确定文件打开的路径,那这个问题怎么解决呢?

c#
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-05-09 21:48:18 +0000 UTC

将二维动态数组传递给 timer1_Tick 事件

  • 0

本主题的延续,但有一个不同的问题

使用定时器平滑绘制函数图

程序有一个主要的二维动态数组,这里创建

   private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
        {
    //---Поля для других методов;
            int Nx, Nt;//На сколько частей разбиваетсся отрезок сетки       
                Nx = Convert::ToInt32(textBox5->Text);
                Nt = Convert::ToInt32(textBox6->Text);

                //Создание динамического двумерного массива для сеточных преобразований
                double **wht = new double *[Nt];
                for (int i = 0; i < Nt; i++)
                    wht[i] = new double[Nx];
//вызовы методов,которые вычисляют и записывают значения в wht
    }

在外部button1_Click,也有将此数组作为参数的方法,但一切正常,因为所有这些方法和函数都在中再次调用button1_Click

但它timer1_Click不接受输入参数。值得编写额外的参数,编译器立即指向这一行并出现以下错误

this->timer1->Tick += gcnew System::EventHandler(this, &TransEquForm::timer1_Tick);

error C3352: void TransEqu::TransEquForm::timer1_Tick(System::Object ^,System::EventArgs ^,double **): указанная функция не соответствует типу делегата "void (System::Object ^,System::EventArgs ^)"

已采取以下行动

1)让它成为一个全局变量,一个表单字段,比如简单的变量(不是数组)还是可以全局创建的,但是对于数组还是第一次遇到这个。

我熟悉了全局动态数组的这个问题,并决定将其应用到我的项目中。

结果是当下面的代码运行时

double** wht;

        double** created(int Nt,int Nx)
        {
            double **wht = new double *[Nt];
            for (int i = 0; i < Nt; i++)
                wht[i] = new double[Nx];
            return wht;
        }

使用数组wht时,出现以下异常

Необработанное исключение типа "System.NullReferenceException" в TransEqu.exe
Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта.

但这些问题非常适合使用控制台以及在WinForms遇到上述困难时使用

2)头文件,类 有尝试实现这个选项,但是数组又出现了问题,事实是表单组件不愿意交互,尤其是需要在头文件中获取一些值的时候。

更新程序

让我提出问题如何将动态数组(创建于button1_Click)转移到事件timer1_Tick?

c++-cli
  • 2 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-05-09 01:40:42 +0000 UTC

不将信息写入已存在的文本文件

  • 1

有一个文本文件,您需要在其中添加程序运行期间获得的结果(不清除文件中的信息)

下面的代码做什么首先,检查textbox-s 是否不为空,如果不为空,则将它们的值写入变量kef然后emp 创建StreamWriter指示写入哪个文件。使用命令,它strw.Write计划将 2 行和 2 行添加到现有文件变量中kef,并且emp

private void button5_Click(object sender, EventArgs e)
{
    if (textBox4.Text!="" && textBox5.Text!="") 
    {
    double kef = Convert.ToDouble(textBox4.Text);
    double emp = Convert.ToDouble(textBox5.Text);
    StreamWriter strw = new StreamWriter("kendal.txt", true);
    strw.Write("Коэффициент корреляции Кенделла= ", kef, Environment.NewLine);
    strw.Write("Эмпирическое значение = ", emp, Environment.NewLine);
    MessageBox.Show("Сохранение выполнено!");
    strw.Close();
    }
    else 
    MessageBox.Show("Вычисление не выполнено!Сохранение невозможно");
}

结果,没有任何内容写入文件,但也没有删除任何内容(但这很好)

PS 问题是关于这个主题的,例如,像这样 写入文本文件

但不同之处在于,在我的情况下它更容易一些,因为您需要添加textBox已知的值 \u200b\u200b。

c#
  • 2 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-05-06 02:37:51 +0000 UTC

不计数并输出 0 [重复]

  • 2
这个问题已经在这里得到回答:
25 / 100 = 0 为什么? (3 个答案)
5 年前关闭。

老实说,这个问题让我很吃惊。

inversum = 7;
quantrow = 8;
secindex = 7;

double kendelkoef = 0;
double vvval  = (4 * inversum) / (quantrow * secindex);
kendelkoef = 1 - vvval;
textBox4.Text = kendelkoef.ToString();

在此处输入图像描述

并且编译器看到的是 0.0 而不是 0.5(看图片)尝试这样写,vvval=Convert.ToDouble(выражние1/выражение2);但是在调试时,它仍然只看到 0.0 而不是 0.5。

我决定在控制台中干净地解决这个时刻,结果是一样的(显示 0)

在此处输入图像描述

String.Format也没有帮助。

c#
  • 2 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-04-26 23:12:25 +0000 UTC

使用定时器平滑绘制函数图

  • 1

有个方法是drawdifnet(wht,Nt) 这样画的

在此处输入图像描述

但问题是我希望它使用计时器输出每一行(如动画)

我尝试解决我的问题:

1)如果我这样做

timer1->Enabled = true;
timer1->Tick += gcnew EventHandler(drawdifnet(wht,Nt));
timer1->Start();
timer1->Stop();

然后一个错误

2) 我将我的参数添加到事件中,是的,它编译但不是每秒构建。这就是我的意思(我们drawdifnet将方法的所有代码都扔到事件处理程序中Tick)

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e,double** wht,int Nt)
    {
        for (int j = 1; j < Nt - 1; j++)
        {
            for (int i = 1; i < Nt; i++)//Было Nx
            {
        chart2->Series["" + (j + 1).ToString()]->Points->AddXY(i, wht[j][i]);                   
        }
    }

在那之后,我已经在 main 方法中启动了计时器(但仍然没有任何东西是顺利和动画地构建的)

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
    {
///---Остальные рабочие функции---///
    timer1->Enabled = true;
    timer1->Start();

}

更新! 在声明所有方法之前

int ik, jk;

更改勾号

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e, double** wht, int Nt)
{       
    chart2->Series["" + (jk + 1).ToString()]->Points->AddXY(ik, wht[jk][ik]);
    ik++;
    if (ik == Nt)
    {
        ik = 1;
        jk++;
        if (jk == Nt - 1)
            timer1->Stop();
    }
    }

拨电至Button_Click

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
    {
            ///Остальной Код

            ik = 1;
            jk = 1;
            timer1->Start();
    }

但是现在它根本不绘制图形。

更新-1-05-2017

在搜索和阅读了一堆示例之后,结果如下

这是代码(感谢用户 Alexander Petrov)

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e,int Nt,double** wht)
    {
        chart2->Series["" + (jk + 1).ToString()]->Points->AddXY(ik, wht[jk][ik]);
        ik++;
        if (ik == Nt)
        {
            ik = 1;
            jk++;
            if (jk == Nt - 1)
                timer1->Stop();
        }
    }

我的变量jk,ik是全局的,但Nt,wht[j][i]不是,当我将它们添加为参数时

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e,int Nt,double** wht)

然后我在这一行得到以下错误(在表单构造函数中)

this->timer1->Tick += gcnew System::EventHandler(this, &TransEquForm::timer1_Tick);

错误代码 C3352: 指定的函数与委托类型不匹配

在主按钮(所有内容所在的位置)中,我留下了这些行,因为根据互联网上的示例判断,timer-Enabled=true;事件何时开始timer_Tick

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
    {
            timer1->Interval = 2000;
            timer1->Enabled = true;
}
c++-cli
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-04-18 01:59:28 +0000 UTC

如何从 List<T> 集合中获取索引

  • 1

我需要获取一个的索引list<T> 。我知道有一种方法,IndexOf但它不起作用(不显示索引)。首先,我创建一个新List<T>的并将旧的值覆盖到其中,然后在循环中for我已经遍历并List<T>从每个元素中获取它的索引。但在实践中,结果完全不同。

List<double> arrY = new List<double>();//1-ый лист
foreach (DataGridViewRow row in dataGridView1.Rows)
    arrY.Add(Convert.ToInt32(row.Cells[1].Value));

List<double> indY = new List<double>();//Создаю для копирования и взятие индексов

indY.AddRange(arrY);//Для начала записываю все элементы листа

//Здесь я предполагаю что пройдусь циклом и соберу все индексы и сразу выведу их в datagridView
for (int j = 0; j < dataGridView1.Rows.Count; j++)
{
    indY.IndexOf(indY[j],0);//читаю с 1-ой позиции
    dataGridView1[3, j].Value = indY[j];
}

迭代循环没有帮助,结果是相似的,显示的是数字而不是它们的索引。

c#
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-02-08 23:45:40 +0000 UTC

求解输运方程时的代码错误

  • 4

更新了问题的内容,因为我自己理解并纠正了一些地方。因此有以下变量:

hx (шаг по пространству)= 0.1

ht (шаг по времени) = 0.5

Nx (Количество шагов по пространству) = 10;

Nt (Количество шагов по времени) = 12;

wx[i] - массив содержит все шаги по пространству

wt[j] - массив содержит все шаги по времени

wht[j][i]-двумерный массив по которому будет строится результирующий график;

![在此处输入图片描述

于是发现了几个问题:

1)在代码中找到

for(int i = 0; i < Nx; i++)        
{
    wx[i+1] = wx[i] + hx;      //массив 
    wht[0][i] = fn(T, i * hx); //i * hx//Исправлено.
}

它在哪里fn:

//Функция Хэвисайда - Начальное условие(Граничное условие) а начальное 0-1
public:static double fn(int T, double x)
{
    if (x >= 0) 
        return T;
    else if(x < 0)
        return 0;  
}

我设置的初始条件不正确

就像图表上的酒一样,在耻辱中,一般解决方案“wave”在某处可见,但其余部分是错误的,因为我在代码中错误地设置了初始条件

2)循环和数组,即:

调用了数组中不存在的元素,结果出现了可怕的数字和图表中的跳跃,但我无法更改索引,因为存在特定的公式。

for(int j = 0;j<Nt;j++)
{
    for(int i = 1;i<Nx-1;i++)///Исправлено с помощью ответа пользователя Denis Protopopov(и график немного изменился)
    {
        wht[j+1][i] = 
            ((wht[j + 1][i] - wht[j][i]) / ht) + a * ((wht[j][i+1] - wht[j][i]) / hx);
        wht[j+1][i] = -a * (ht * (wht[j][i+1] + wht[j][i]) / hx) + (wht[j][i]);
    }
}

如果我写而不是i = 0,i = 2或j = 2,那么图形的绘制将很糟糕。

所有代码:

public:static double qx0(double x)//ось пространства
           {
               if (x<=0) 
                   return 0;
               else
                   return x;
           }

    public:static double qt0(double t)//ось по времени
           {
               if (t<=0) 
                   return 0;
               else
                   return t;
           }

    public:static double fn(int T,double x)//Функция Хэвисайда - Начальное условие
           {
               if (x>=0)
                   return T;
               else if(x<0)
                   return 0;  
           }

public: void drawfunc(double T)
            {
                double xmin = -5;
                double xmax = 10;
                for(double x = xmin;x<xmax;x+=0.01)
                {       
            chart1->Series["Функция Хэвисайда"]->BorderWidth=3;
            chart1->Series["Функция Хэвисайда"]->Points->AddXY(x,fn(T,x));                       
                }                                       
            }


    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
             { 
                 ///-------Переменные для работы с разностными схемами
                 double a;//скорость переноса
                 double hx,ht;//шаги по пространству и времени
                 int Nx,Nt;//На сколько частей разбивае отрезок сетки
                 int T;//Входной параметр для искомой функции(Хэвисайд)
                 double wx[20]={0};//массив точек x
                 double wt[20]={0};//массив точек t
                 double wht[20][20]={0};// массив для разностной схемы(сетки) 
                 //double res[20][20]={0};//результирующий массив

                 if(textBox1->Text!="" && textBox2->Text!="" && textBox3->Text!="" && textBox4->Text!="" && textBox5->Text!="" && textBox6->Text!="" && textBox6->Text!="")
                 {

                     ///-----Ввод данных-----
                     a=Convert::ToDouble(textBox1->Text);
                     hx=Convert::ToDouble(textBox2->Text);
                     q=Convert::ToDouble(textBox3->Text);
                     ht=Convert::ToDouble(textBox4->Text);
                     Nx=Convert::ToInt32(textBox5->Text);
                     Nt=Convert::ToInt32(textBox6->Text);
                     T=Convert::ToInt32(textBox7->Text);

                     //----Построение сетки,узлов
                     for(int i = 0;i<Nx;i++)        
                     {
                         wx[i+1]=wx[i]+hx;//массив 
                         wht[0][i]=qx0(wx[i]);                       
                     }   

                     for(int j = 0;j<Nt;j++) //
                     {                                                       
                         wt[j+1]=wt[j]+ht;
                         wht[j+1][0] = qt0(wt[j+1]);                     
                     }


                     ///-----------------Вычисление основых формул с разностной схемой

                     for(int j = 0;j<Nt;j++)
                     {
                         for(int i = 1;i<Nx-1;i++)///Вывод формул wht[j+1][i] 
                         {                           
        wht[j+1][i]=((wht[j+1][i]-wht[j][i])/ht)+a*((wht[j][i+1]-wht[j][i])/hx);
        wht[j+1][i]=-a*(ht*(wht[j][i+1] + wht[j][i])/hx) + (wht[j][i])+ht*fn(wt[j],hx); 
                         }
                     }

                     //----Для записи в простой текстовый файл                  
                     String^ fileName = "results.txt";
                     StreamWriter^ sw = gcnew StreamWriter(fileName);
                     for(int j = 0;j<Nt;j++)    
                     {
                         for(int i = 0 ;i<Nx;i++)
                         {
                             sw->Write("{0} ",wht[j][i]);
                         }
                         sw->WriteLine();
                     }
                     sw->Close(); 


                     //Тестовые функции для отображения
                     drawfunc(T);// Вызов функции для рисования

                     ///---------------Построение графика                        

                              for(int j = 0;j<Nt;j++)
                     {
                          for(int i = 0;i<Nx-1;i++)
                         {  
                        chart2->Series["Series2"]->BorderWidth=3;           
                        chart2->Series["Series2"]->Points->AddXY(i,wht[j][i]);
                         }
                     }                                           
                 }
                 else MessageBox::Show("Ошибка!Не все поля заполнены!");
             }
c++-cli
  • 2 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-01-24 17:02:42 +0000 UTC

绘制一个带有一个参数的函数

  • 1

情况是

有些方法中 T 是从键盘输入的输入参数(例如,T=4)

public:static double fn(double T,double x)
           {
               if (x>=0)
                   return T;
               else if(x<0)
                   return 0;  
           }

public: void drawfunc(double T)
            {
                double xmin = -5;
                double xmax = 10;
                for(double x = xmin;x<xmax;x+=0.01)
                {                            
                    chart1->Series["Series1"]->Points->AddXY(x,fn(T,x));
                }                                       
            }

他们绘制了这个函数图

在此处输入图像描述

但是该方法必须有一个参数并且绘制方式与使用 2 个参数相同。但是,如果我使用一个参数,我将第二个参数设为局部变量。

public:static double heviside(double T)
       {
           double x=0;
           if ( x>=0)
               return T;
           else if(x<0)
               return 0;          
       }

public:void draw(double U,double T)
       {
           double xmin=-5;
           double xmax=10;
           for(double x=xmin;x<xmax;x+=0.01)
               chart1->Series["Line"]->Points->AddXY(x,heviside(T));
       }

那么函数的图形就是这样画出来的。 在此处输入图像描述

问题!

如何使函数绘制第一个图形但使用第一个函数参数 fn(double T)?

c++-cli
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-01-16 03:42:53 +0000 UTC

将数组值填充到行而不是列中

  • 0

ListView能否将值填充到行而不是列中?

情况如下:我需要填写如图所示的值:

桌子

例如,初始条件为0.01,它以边界1.1结束,这里是我的i1,i2,i3,i4,我需要填写字符串中的值(从初始到最终)。

我已经知道如何通过循环添加列:

int kolst =10;
listView1->Columns->Add("Начальные условия", -2, HorizontalAlignment::Right);
for(int i = 1;i<kolst+1;i++)
 {
  listView1->Columns->Add("i + " + i, -2, HorizontalAlignment::Left);//Нумерация столбцов
 }
listView1->Columns->Add("Граничные условия", -2, HorizontalAlignment::Left);

但是如何精确地按行填写值并不清楚。我根据需要填写了初始条件和边界条件及其表达式,它只是将数组中的表达式填入一行,而不是填入列(i1,i2,i3,i4)。即在每个i1,i2下,我应该有一个数组值。如何才能做到这一点?

我尝试做的是:我在循环中进行了替换Items.Add,Columns.Add,但未显示该行。

winforms
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-12-09 23:56:54 +0000 UTC

每次调用该函数时,一个新值

  • 0

给定这个函数,它返回一个随机数(有效)

function montekarlo(diap1: double; diap2: double): double;
var
  Xx: array of double;
  i, j, l,k: integer;//количество итераций
  min: double;

begin
  randomize;
  l := PABCSystem.Random(7) + 5;
  Xx := new double[l];
  for i := 0 to l - 1 do
  begin
    Xx[i] := PABCSystem.Random * diap2 + diap1;
  end;
  min := Xx[1];
  for i := 2 to l - 1 do
  begin
    if Xx[i] < min then min := Xx[i];
  end;
  min := Xx[i];
  montekarlo := min; 
end;

问题是它显示相同的值。如何让它在新通话中更改号码?

该图清楚地显示了问题,即数字显示但相同(顶部除外,因为它是从键盘设置的)。 在此处输入图像描述 我怎样才能确保数字不一样?

我绘制元素本身并以这种方式调用函数(有几条这样的线,只是坐标不同)

gr.DrawString(montekarlo(diap1, diap2).ToString('N2'), new System.Drawing.Font('Times New Roman', 10, System.Drawing.FontStyle.Regular), System.Drawing.Brushes.Black, 440, 90);

我尝试使用一个循环来设置迭代次数,但它再次在所有地方输出相同的内容。

PS 问题为什么是 Pascal ABC.NET,而不是 C、C++、C#,请不要问。在这个任务中,你需要用 Pascal ABC .NET 编写一个程序。

winforms
  • 1 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-08-09 19:38:55 +0000 UTC

不计算频率,输出 0 [关闭]

  • 1
关闭 这个问题是题外话。目前不接受回复。

寻求调试帮助的问题(“为什么这段代码不起作用? ”)应该包括所需的行为、具体问题或错误,以及在问题中正确重现它的最少代码。没有明确描述问题的问题对其他访问者来说是无用的。请参阅如何创建最小、独立且可重现的示例。

6 年前关闭。

改进问题

我使用公式计算出现字符的频率

(出现的字符数/行长度)*100

由于某种原因,它输出 0。

频率变量本身就是double格式,如果是int,当然就很清楚为什么是0了。

但事实是,即使使用断点和逐步调试,编译器也会写入 0.000000。

void calculate_symb(FILE *fd)
{   
    int max=0;
    fd=fopen("test.dat","rb");
    if (!fd) 
       printf("Ошибка!Файл не найден!\n");
    else
    {
    fseek(fd,0L,SEEK_END);
    long fsize=ftell(fd);   
    int n=fsize;
    cout<<"Количество символов в файле = "<<fsize<<endl;
    char* symv = new char[n];
    symv[n+1]='\0';
    fseek(fd,0L,SEEK_SET);
    cout<<"Вывод содержимого двоичного файла:"<<endl;
    for(int i = 0; i<n; i++)
    {
        fread(symv, sizeof(char), n, fd);
        cout << symv[i]; 
    }
    fclose(fd);
    cout<<endl;
    int l=strlen(symv);   
    cout<<"Повторяющиеся символы:"<<endl;
    for(int x = 0; x<l-1; x++)
        {
            bool flag = true;
            if(isalnum(symv[x]))            
                  for(int y = x-1; y>=0 && flag; y--)
                   if(symv[x] == symv[y])
                       flag = false;
            if(flag&&isalnum(symv[x]))
                   cout<<"\""<<symv[x]<<"\""<<" ->  "<<count(symv,symv+l,symv[x])<<endl;///Здесь выводится количество встречающихся символов
            double frequency = (count(symv,symv+l,symv[x])/l)*100;///---Здесь пытаюсь подсчитать частоту,формула.
            cout<<"Частота символа = "<<frequency<<endl;
}
}
}
c++
  • 2 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-08-04 01:58:59 +0000 UTC

这个错误是什么意思?Runtime Library

  • 0

我正在编写一个程序,用于计算二进制文件中的字符数。它计算字符数,显示它们,但是在计算之后,程序没有完成,而是弹出了这样的异常。

在此处输入图像描述

它不指向我的代码,它指向文件 istype.c 我进去看了看第 68 行

_ASSERTE(c >= -1 && c <= 255);

我相信我错过了某种编码,因为如果我的代码被诅咒,那么一切都会指向它。

调试器正确显示了所有需要的值。

部分代码(此处显示重复字符数)

void calculate_symb(FILE* fd)
{
    int max = 0;
    fd = fopen("test.dat", "rb");

    if (!fd)
        printf("Ошибка!Файл не найден!\n");
    else
    {
        fseek(fd, 0L, SEEK_END);
        long fsize = ftell(fd);
        int n = fsize;
        cout << "Количество символов в файле = " << fsize << endl;
        char* symv = new char[n];
        fseek(fd, 0L, SEEK_SET);
        cout << "Вывод содержимого двоичного файла:" << endl;

        for (int i = 0; i < n; i++)
        {
            fread(symv, sizeof(char), n, fd);
            cout << symv[i];
        }

        fclose(fd);
        cout << endl;
        cout << "Повторяющиеся символы" << endl;

        for (int x = 0; x < 255; x++)
        {
            bool flag = true;

            if (isalnum(symv[x]))
                for (int y = x - 1; y >= 0 && flag; y--)
                    if (symv[x] == symv[y])
                        flag = false;

            if (flag && isalnum(symv[x]))
                cout << "\"" << symv[x] << "\"" << " ->  " << count(symv, symv + 255,
                        symv[x]) << endl;
        }
    }
}
c++
  • 2 个回答
  • 10 Views
Martin Hope
beginner
Asked: 2020-07-27 17:34:07 +0000 UTC

Scala 编程环境叫什么?[关闭]

  • 2
关闭。这个问题不可能给出客观的回答。目前不接受回复。

想改进这个问题? 重新设计问题,以便可以根据事实和引文来回答。

5 年前关闭。

改进问题

开始学习 Scala 编程语言

我从他们的网站下载了语言解释器。

但与此同时,问题出现了,我可以在Scala中编写小应用程序的软件环境名称是什么?

在急躁的 Scala 书中,只说了解释器本身,却只字未提开发环境。

http://horstmann.com/scala/install/ - 这里描述了安装方法,我安装了我现在有文档的链接。

但是我看不到应用程序本身从哪里开始编写。

scala
  • 3 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5