文字の検索

"文字の検索"
#include <iostream>
#include <cstring>
 
using namespace std;
int main(void){
    // 自分の得意な言語で
    // Let's チャレンジ!!
    char str[100];
    char c;
    cin >> str;
    cin >> c;
 
    int length = strlen(str);
 
    for(int count=1; count <= length; count++)
    {
        //if(str == "paiza") //できない 文字配列と文字リテラル、文字配列同士の比較はできない。
        if(str[count-1] == c)//配列は0からなんで1個ずらす
            cout << count << endl;
    }
 
    return 0;
}

部分文字列の表示

"部分文字列の表示"
#include <iostream>
#include <cstring>
using namespace std;
int main(void){
    // 自分の得意な言語で
    // Let's チャレンジ!!
    char str[100]; //99文字+'\0'
    cin >> str;
 
    int i, j;
    cin >> i >> j;
 
    for(int count = i-1; count < j; count++)
    {
        cout << str[count];
    }
    cout << endl;
    return 0;
}

文字列の挿入

"文字列の挿入"
#include <iostream>
#include <cstring>
 
using namespace std;
int main(void){
    char strS[100];
    char strT[100];
    int num;
    char strRes[200];
    cin >> strS >> strT;
    cin >> num;
    int lenS = strlen(strS);
    int lenT = strlen(strT);
    int lenRes = lenS + lenT;//できる文字列の長さ
    //① 0 ~ num-1 文字目まで S
    //② num ~ num + lenT -1文字目 T
    //③ num + lenT ~ lenS + lenT - 1 文字目までS[i-lenT]
 
    for(int i=0; i<lenRes; i++)
    {
        if(i<num)
            strRes[i] = strS[i];
        else if(i < num + lenT)
            strRes[i] = strT[i-num];
        else
            strRes[i] = strS[i-lenT];
    }
 
    for(int i=0;i<lenRes;i++)
    {
        cout << strRes[i];
    }
 
    return 0;
}
10進数を文字で入力
"1984" -> 数値 1984
char str[8]
cin >> str;
"1984"

str[0] = '1' 文字 -> 整数1
str[1] = '9' 文字 -> 整数9
str[2] = '8' 文字 -> 整数8
str[3] = '4' 文字 -> 整数4
str[4] = '\0' 終端文字
str[5] = ???
str[6] = ???
str[7] = ???

int val[8]
val[0] = '1' - '0' = 1
val[1] = '9' - '0' = 9
val[2] = '8' - '0' = 8
val[3] = '4' - '0' = 4

1984 = 1*1000 + 9*100 + 8*10 + 4*1
     = 1*10^3 + 9*10^2 + 8*10^1 + 4*10^0
int length = strlen(str); //今length=4
for(int i=0; i<strlen; i++)
{
    val[i] = val[i]*pow(10, length-i-1);
}
val[0] = 1*pow(10,3)
val[1] = 9*pow(10,2)
val[2] = 8*pow(10,1)
val[3] = 4*pow(10,0)

int sum = 0;
for(int i=0; i<strlen; i++)
{
    sum = sum + val[i];
}


</code.10進数を文字で入力
"1984" -> 数値 1984
char str[8]
cin >> str;
"1984"

str[0] = '1' 文字 -> 整数1
str[1] = '9' 文字 -> 整数9
str[2] = '8' 文字 -> 整数8
str[3] = '4' 文字 -> 整数4
str[4] = '\0' 終端文字
str[5] = ???
str[6] = ???
str[7] = ???

int val[8]
val[0] = '1' - '0' = 1
val[1] = '9' - '0' = 9
val[2] = '8' - '0' = 8
val[3] = '4' - '0' = 4

1984 = 1*1000 + 9*100 + 8*10 + 4*1
     = 1*10^3 + 9*10^2 + 8*10^1 + 4*10^0
int length = strlen(str); //今length=4
for(int i=0; i<strlen; i++)
{
    val[i] = val[i]*pow(10, length-i-1);
}
val[0] = 1*pow(10,3)
val[1] = 9*pow(10,2)
val[2] = 8*pow(10,1)
val[3] = 4*pow(10,0)

int sum = 0;
for(int i=0; i<strlen; i++)
{
    sum = sum + val[i];
}
  • game-engineer/classes/2023/game-programing-1/first-term/7/07-03-1.txt
  • 最終更新: 3年前
  • by root