gpt4 book ai didi

algorithm - 冒泡排序算法 - Scilab

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:24:09 25 4
gpt4 key购买 nike

我是计算机专业的一年级学生,无法让我的函数正常工作。我收到未公开的错误并且不知道为什么。

我已经让它工作了,但它没有在末尾显示列表或允许我使用 %T 和 %F 作为我的“转义” bool 变量。

有什么想法吗?

function x=sort(n,y);
disp("Enter numbers");
for i = 1:n
x(i) = input('');
end

escape = 0;

if y == 1 then
while escape == 0
escape = 1;
for i = 1:n
if x(i+1) < x(i) then
temp = x(i);
x(i) = x(i+1);
x(i+1) = temp;
escape = 0;
end
end
end
end

if y == 2 then
while escape == 0
escape = 1;
for i == 1:n
if x{i+1} > x{i} then
temp = x{i};
x{i} = x{i+1};
x{i+1} = temp;
escape = 0;
end
end
end
end

disp(x(:));
endfunction;

a=input("Enter the number of values to sort: ");
b=input("Enter 1 for ascending, 2 for descending: ")
disp(sort(a,b));

最佳答案

这可能是因为您在各个地方的语法不正确(额外的分号,== 运算符而不是 for 语句中的 = 运算符,{} 括号,() 应该是括号,等等)。此外你的for周期必须来自 1n-1避免“无效索引”错误

function x=sort(n,y)
disp("Enter numbers")
for i = 1:n
x(i) = input('')
end

escape = %f

if y == 1 then
while escape == %f
escape = %t
for i = 1:n-1
if x(i+1) < x(i) then
temp = x(i)
x(i) = x(i+1)
x(i+1) = temp
escape = %f
end
end
end
end

if y == 2 then
while escape == %f
escape = %t
for i = 1:n-1
if x(i+1) > x(i) then
temp = x(i)
x(i) = x(i+1)
x(i+1) = temp
escape = %f
end
end
end
end

endfunction

a=input("Enter the number of values to sort: ")
b=input("Enter 1 for ascending, 2 for descending: ")
disp(sort(a,b))

关于algorithm - 冒泡排序算法 - Scilab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21499122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com