일단 소스는 이렇습니다..
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main() {
int number;
printf("가고 싶은 경유지의 숫자를 입력해주세요.\n 경유지의 수 : ");
scanf("%d", &number);
char* tour = (char*)malloc(sizeof(char)*(number));
printf("경유지를 입력해주세요.\n");
for(int i = 0; i < number; i++) {
printf("경유지 : ");
scanf("%c", &tour[i]);
}
char f = 'A';
int temp[24];
int count = 0; // tourBus를 만들기 위한 변수
ifstream infile;
infile.open("input.txt");
char** tourBus = (char**)calloc(30,sizeof(char*));
for(int i = 0; i < 30; i++) {
for(int j = 0; j < 24; j++) {
infile >> temp[j];
if(temp[j] == 1) {
count++;
}
}
tourBus[i] = (char*)calloc(count,sizeof(char));
for(int j = 0; j < 24; j++) {
if(temp[j] == 1) {
tourBus[i][j] = 'A'+ j;
}
}
count = 0;
}
int index = 0;
int** place = (int**)calloc(number, sizeof(int*));
for(int i = 0; i < number; i++) {
for(int j = 0; j < 30; j++) {
for(int k = 0; k < sizeof(tourBus[j]); k++) {
if(tour[i] == tourBus[j][k])
count++;
break;
}
}
place[i] = (int*)calloc(count, sizeof(int));
count = 0;
for(int j = 0; j < 30; j++) {
for(int k = 0; k < sizeof(tourBus[j]); k++) {
if(tour[i] == tourBus[j][k]) {
place[i][index] = k;
index++;
break;
}
}
}
index = 0;
}
for(int i = 0; i < number; i++) {
for(int j = 0; j < sizeof(tourBus[i]); j++)
printf("%d ", tourBus[i][j]);
printf("\n");
}
}
빨간색으로 색칠한 부분이..
원래 의도하는거는 number가 3일 때,
경유지 : (입력)
경유지 : (입력)
경유지 : (입력) 이런식인데으로 의도하는데..
경유지 : 경유지 : (입력)
경유지 : (입력)
이렇게 됩니다..
왜 이러는거고 어떻게 고쳐야하나요..?