こんにちは私のプログラムのこの部分は、2x3 +2y²のような入力文字列を取得して2つの配列に分けることです。termos = termsとexp =指数関数それを動かす文字列を変数の型と比較する
#include <stdio.h>
#include <math.h>
int main()
{
char poly[50];
int termos[10];
int exp[10];
int contt=0, conte=0, i=0;
char var1, var2, var3;
printf("Introduza o polinómio\n");
scanf("%s", &poly);
for(i=0; i<50; i++)
{
if(poly[i-1]==char && poly[i]==int && poly[i-1]!='+')
{
exp[conte]=poly[i];
conte++;
}
if(poly[i]==int)
{
termos[contt]=poly[i];
contt++;
}
if(poly[i]=='x')
var1=poly[i];
if(poly[i]=='y')
var2=poly[i];
if(poly[i]=='z')
var3=poly[i];
}
forループのインデックスを確認してください。 i = 0で始まり[i - 1]を検索しようとするのは正しいことではありません。 – AlexG
コードは配列の終わりまでループしてはいけませんが、文字列の最後にはループしないでください: 'for(i = 0; i <50; i ++)' - 'for(i = 0; poly [i]; i ++ ) ' – chux
' for(i = 0; i <50; i ++) 'は、入力文字列を短くすることができるので正しくありません。 'i = 0;を使います。 while(poly [i]!= '\ 0'){... i ++;} ' –