gpt4 book ai didi

将单词生成为 C、C++ 代码的 PHP 代码

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:02 24 4
gpt4 key购买 nike

我必须开发一个小程序,根据给定的字母和一些规则生成单词。我是用 PHP 做的,效果很好,但是:现在我需要将这段代码翻译成 C 或 C++。我试图实现它,但我在使用字符串数组时遇到了一些麻烦。而且,我不擅长C,甚至C++。有人,请帮我实现这段代码。如果可以的话,我会为你做的。谢谢。这是附加的代码:

<?php

$val_n = array("S","D","R");
$val_t = array("a","b","c","d","f");

$reguli = array(
array("S" => "aS"),
array("S" => "bD"),
array("S" => "fR"),
array("D" => "cD"),
array("D" => "dR"),
array("R" => 'bR')
);

$rez = array();
$pas = array();
$parcurgere = array();
$parc_sf = array();

function generare($val_n, $reguli, $cuvint, $parcurgere)
{
global $rez;
global $pas;
global $parcurgere;
global $parc_sf;


if( strlen($cuvint) >= 6)
{
if( $cuvint[strlen($cuvint) -1] == 'R' )
{
$cuvint[strlen($cuvint) -1] = "f";
if( ! in_array($cuvint, $rez) )
{
$rez[] = $cuvint;
array_push($parc_sf,$cuvint[strlen($cuvint) -1] = "f");
array_push($pas,$parcurgere);
}

} else if( $cuvint[strlen($cuvint) -1] == 'D' )
{
$cuvint[strlen($cuvint) -1] = "d";
if( ! in_array($cuvint, $rez) )
{
$rez[] = $cuvint;
array_push($parc_sf,$cuvint[strlen($cuvint) -1] = "d");
array_push($pas,$parcurgere);
}
}
} else if( $cuvint[strlen($cuvint) -1] != 'f' || $cuvint[strlen($cuvint) -1] != 'd')
{
foreach($reguli as $reg)
{
if(isset($reg[substr($cuvint, -1)]))
{
$pasi = $reg[substr($cuvint, -1)];
array_push($parcurgere,$pasi);
$cuvint .= $reg[substr($cuvint, -1)];
//$cuvint[strlen($cuvint)-3] = '';
generare($val_n, $reguli, $cuvint, $parcurgere);
}
}
}
}

$cuvint = "S";
$pasi = '';

generare($vn, $reguli, $cuvint, $parcurgere);

?>

最佳答案

我建议查看 std::vector表示可以改变大小的数组。

关联数组(array("S"=> "aS")),可以看std::map或 std::unordered_map

关于将单词生成为 C、C++ 代码的 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22371341/

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