首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pascal程序不识别输入(免费pascal)

Pascal程序不识别输入(免费pascal)
EN

Stack Overflow用户
提问于 2022-10-18 20:02:24
回答 1查看 57关注 0票数 1

这是我第一次发帖,所以我希望我做的对。我是一个初学者,刚刚写了一个简单的程序,应该打印至少20个数字和它在数组中的位置。我用的是免费的帕斯卡。但是,如果我运行它(ctrl+F9)并输入20个数字(带有空格)并确认什么都没有发生。我还要按别的吗?或者程序有什么问题吗?提前行动!

这是程序(它有一些德文文本):

代码语言:javascript
复制
program MinimumPositionFinder (input, output);
const
  FELDGROESSE = 20;

type
  tIndexPosition = 1..FELDGROESSE;
  tFeld = array [tIndexPosition] of integer;

var
  Feld : tFeld;
  i: tIndexPosition;
  Minimum : integer;
  Position : tIndexPosition;

begin
  writeln ('Bitte geben Sie',  FELDGROESSE:4 ,  'Zahlen ein.');
  for i := 1 to FELDGROESSE do
    readln (Feld[i]);

  Minimum := Feld[1];

  for i := 2 to FELDGROESSE do
    if Feld[i] < Minimum then
      Feld[i] := Minimum;
  
  for i := 1 to FELDGROESSE do
    if Feld[i] = Minimum then
      Position := i;

  Writeln ('Das Minimum ist' , Minimum:2 , '.' ,
    'Es befindet sich an Position', Position:2 , '.')

end.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-18 22:15:28

正如注释中所述,由于您正在使用readln阅读,请确保在输入每个数字后按回车/进入。或者,用read读入您的数字。

您还需要在记录最小值的同时记录您的职位。如果您正在从左边寻找最小值的第一个位置,则它更具有表现力,而且可能更正确。

代码语言:javascript
复制
  Minimum := Feld[1];
  Position := 1;

  for i := 2 to FELDGROESSE do
    if Feld[i] < Minimum then
    begin
      Feld[i] := Minimum;
      Position := i;
    end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74116845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档