まず第一に、私は C++ プログラミングの初心者です。次に、解決すべき問題があり、頭が痛くなるようです。こんなふうになります。コードにchar[3][14]
( user_in
) があり、ユーザーから入力を取得して入力します。ユーザー タイプのみ'1','x','2','*'
。例えば:
1**
1*2
**2
*x*
1**
1**
*x2
**2
**2
1x*
1**
*x*
**2
1**
1x2
次に、この配列を別の配列に変換しますint[3][14]
(user_in_tr
コード内)。*
私が置くすべて0
のために、1
私が置くために1
、私が置くために、x
私が置く2
ため2
に3
。そう:
1** 100
1*2 103
**2 003
*x* 020
1** 100
1** 100
*x2 023
**2 003
**2 003
1x* 120
1** 100
*x* 020
**2 003
1** 100
1x2 123
私がやりたいことは、各行から 1 つの要素を取得して、可能なすべての合計を数えることです。要素が 0 であってはならないことに注意してください。したがって、0 がある場合はスキップします。私の例では、次のようになります。
First: 1+1+3+2+1+1+2+3+3+1+1+2+3+1+1=26
Second: 1+1+3+2+1+1+2+3+3+1+1+2+3+1+2=27
Third: 1+1+3+2+1+1+2+3+3+1+1+2+3+1+3=28
Fourth: 1+1+3+2+1+1+2+3+3+2+1+2+3+1+1=27
等々...
最大合計 = 42 (14x3)、最小合計 = 14 (14x1)
また、追加された数字を表示したいと思います。
私はいくつかのコードを思いつきましたが、結果は私が期待したものではありません。ここに私のコードがあります:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace System;
using namespace std;
int main(array<System::String ^> ^args)
{
char user_in[3][14];
int user_in_tr[3][14]
int i,j;
int count0,count1,count2,count3,count4,count5,count6,count7,count8,count9,count10,count11,count12,count13;
int sum;
for(i=0;i<14;i++)
{
for(j=0;j<3;j++)
{
scanf("%c",user_in[j][i]);
}
}
for(i=0;i<14;i++)
{
for(j=0;j<3;j++)
{
if(user_in[j][i]=='*')
{
user_in_tr[j][i]=0;
}
else if(user_in[j][i]=='1')
{
user_in_tr[j][i]=1;
}
else if(user_in[j][i]=='x')
{
user_in_tr[j][i]=2;
}
else
{
user_in_tr[j][i]=3;
}
}
}
for(count0=0;count0<3;count0++)
{
for(count1=0;count1<3;count1++)
{
for(count2=0;count2<3;count2++)
{
for(count3=0;count3<3;count3++)
{
for(count4=0;count4<3;count4++)
{
for(count5=0;count5<3;count5++)
{
for(count6=0;count6<3;count6++)
{
for(count7=0;count7<3;count7++)
{
for(count8=0;count8<3;count8++)
{
for(count9=0;count9<3;count9++)
{
for(count10=0;count10<3;count10++)
{
for(count11=0;count11<3;count11++)
{
for(count12=0;count12<3;count12++)
{
for(count13=0;count13<3;count13++)
{
sum=0;
if(user_in[count0][0]!=0&&user_in[count1][1]!=0&&user_in[count2][2]!=0&&user_in[count3][3]!=0&&user_in[count4][4]!=0&&user_in[count5][5]!=0&&user_in[count6][6]!=0&&user_in[count7][7]!=0&&user_in[count8][8]!=0&&user_in[count9][9]!=0&&user_in[count10][10]!=0&&user_in[count11][11]!=0,user_in[count12][12]!=0&&user_in[count13][13]!=0)
{
sum=user_in[count0][0]+user_in[count1][1]+user_in[count2][2]+user_in[count3][3]+user_in[count4][4]+user_in[count5][5]+user_in[count6][6]+user_in[count7][7]+user_in[count8][8]+user_in[count9][9]+user_in[count10][10]+user_in[count11][11]+user_in[count12][12]+user_in[count13][13];
printf("%d",sum);
printf("%d%d%d%d%d%d%d%d%d%d%d%d%d%d",user_in[count0][0],user_in[count1][1],user_in[count2][2],user_in[count3][3],user_in[count4][4],user_in[count5][5],user_in[count6][6],user_in[count7][7],user_in[count8][8],user_in[count9][9],user_in[count10][10],user_in[count11][11],user_in[count12][12],user_in[count13][13]+"\n");
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
system("PAUSE");
return 0;
}