1
안녕하세요 모두들 잘 대답을 찾으려고했지만 찾지 못했습니다. (나는 그것을 사용하는 방법을 찾았지만) 것은 단지 내가 왜 내 코드가 작동하지 않는지 모르겠다. 그만큼 INT가 말한대로 문자열을 반환해야하기 때문에 문자열에 크기 조정 사용
#include <iostream>
#include <string>
using namespace std;
string acorta(string palabra, int carac)
{
string acortado;
acortado=palabra;
if(palabra.length() > carac)
{
return acortado;
}
else
{
acortado.resize(carac);
return acortado;
}
}
int main(int argc, char** argv) {
cout<< acorta("Univesidad",5)<<endl; // here it should show "Unive"
cout<< acorta("Secretariado",10)<<endl; //here it should show "Secretaria"
cout<< acorta("Estudio",11)<<endl; //here it should show "Estudio" since th number is long than the word
return 0;
}
잘 기발한 프로그램이 문자열과 정수를 받아야한다 : 여기 내 코드입니다. 예를 들어 ("Laptop", 4) "Lapt"를 반환해야합니다. int가 단어보다 크면 전체 단어를 반환해야합니다.
문제는 프로그램이 모든 단어를 반환하지 않아야한다는 것입니다. 그래서 문제는 그것이 내 기능에 들어 가지 않는다는 것입니다. 내가 틀렸다면 나를 바로 잡아주세요. . 자신을 반복하지 않는, 그러나 더 나은
if(palabra.length() <= carac)
없고 : 당신은 당신이 전달 정수 이상이라면 원래의 문자열을 반환 할 말있어
안녕하세요. 당신은 그것을 고치기 위해 무엇을 시도 했습니까? 어떻게 깨졌습니까? –
@chris 감사합니다. 커다란 공헌을했고, 나는 그 부주의하고 지나친 실수를 보지 못했다고 믿을 수 없습니다. 나는 그것에 대해 노력하고있다 (나는 프로그래밍 할 때 새로운). 다시 한번 감사드립니다. – Gustavo
@TarynEast if (palabra.length> carac) 부분을 제외한 모든 부분을 이동하려고했습니다. 나는 왜 내가 그 부분에 대해 생각하지 않았는지 모르겠다. 나는 그것을 당연하게 생각했다. – Gustavo