개행 출력질문

ch0nn0m의 이미지

처음 시작 단, 끝 단, 나타낼단을 입력받습니다
시작 단에 3, 끝 단을 12, 나타낼단을 6이라 넣으면

3단 4단 5단 6단 7단 8단
 
9단 10단 11단 12단

시작 단에 2, 끝 단을 9, 나타낼단을 4라 넣으면

2단 3단 4단 5단
 
6단 7단 8단 9단

시작 단에 3, 끝 단을 28, 나타낼단을 10이라 넣으면

3단 4단 5단 .......................12단
 
13단 14단 15단.....................22단
 
23단............28단

이렇게 하려고 하는데...잘안되네요

나타낼단이 짧은 1~5정도는 아래로 내려가지 않는데

나타낼단을 6 정도만 넣으면 줄이 아래로 내려오면서 섞여버리네요

3*1=3   4*1=4   5*1=5   6*1=6   7*1=7
 
8*1=8
 
3*2=6   4*2=8   5*2=10   6*2=12   7*2=14
 
8*2=16
 
...

이렇게 되네요...

어떤방법이 있는지요?

아래와 같은 함수를 사용했었습니다

int goo_goo(int start, int end, int dan) 
{
	int i,j;
 
    while(start <= end){
        for(i=1; i<=9; i++){
            for(j=0; j<min(dan, end-start+1); j++)
			{
                printf("%d * %d = %d\t", start+j, i, (start+j)*i);
            }
 
            puts("");
			}				
        start += dan;
		puts("");
    }
}
snowall의 이미지

http://kldp.org/node/121823

이건 질문이 뒷북인지 답변이 뒷북인지는 모르겠지만...-_-;;;

피할 수 있을때 즐겨라! http://melotopia.net/b

ch0nn0m의 이미지

아..답변 보았습니다.

감사드립니다.

추가적으로 더 궁금한 사항이 생겨서요

다시한번 더 질문드립니다

snowall의 이미지

해봤는데요

그건 칸이 좁아서 그래요...-_-;

굳이 콘솔 화면에 출력해야 한다면 다른 방법을 써야겠지만, 파일같은데 출력하는 거라면 그냥 쓰면 될거예요.

피할 수 있을때 즐겨라! http://melotopia.net/b

익명 사용자의 이미지

굳이 콘솔 화면에 출력해야 하거든요..;;

그방법을 좀...ㅠ.ㅠ

snowall의 이미지

콘솔창이면 80열 25줄이 정해져 있을 텐데(숫자는 바뀔 수 있겠지만) 그럼 콘솔창의 영역을 넘어가는 단 수는 입력하지 못하도록 막든가 해야겠죠. 아님 한줄을 sprintf같은걸로 받아서 콘솔창 영역만큼 잘라내고 한줄만 출력하거나 해야겠네요.

콘솔이면 스크롤도 안되잖아요?

피할 수 있을때 즐겨라! http://melotopia.net/b

ch0nn0m의 이미지

80열 25줄 정도로...
콘솔창의 영역을 넘어가는 단수는 아래로 내려가게 해서 출력하고 싶습니다

예를들어 2단부터~17단까지를 5단씩을 출력하고 싶고...콘솔창의 영역이 4단씩까지만 한줄로 출력이 가능할때
2단 3단 4단 5단
6단
7단 8단 9단 10단
11단
12단 13단 14단 15단
16단
17단

이런식으로 출력을 하고 싶습니다.

그리고 한화면이 넘어가면 아무키나 입력받고 cls를 하여 계속 출력하게끔 하려구요.

sprintf문의 활용을 얘기해주셨는데 아직 초보인지라 어떻게 활용을 해야할지...

snowall의 이미지

음...

이쯤 되면 직접 고민해 보시는 것도 좋을 것 같네요.

위에 써 있는 루틴을 조금 고치면 됩니다.

sprintf의 사용법은 검색하면 나옵니다.

피할 수 있을때 즐겨라! http://melotopia.net/b

ch0nn0m의 이미지

답변 감사합니다.

snowall의 이미지

int howManyColumn(start, end){
    return (한줄에 start단부터 end단까지 넣는다면 글자 수로 몇칸을 차지하는가?)
}
 
int howManyDan(start, end){
    return (한줄에 start단부터 end단까지 넣는다면 80칸 안에 몇단까지 들어가나?)
}
 
goo_goo_revised(start, end, dan){
    if(howManyColumn(start, end)<=80){
        goo_goo(start, end, dan)
    } else {
        for(i=0;i<....;i++){
            goo_goo(start, start+i*(end-start)/howManyDan(start,end), howManyDan(start,end))    
        }
    }
}

대충 이렇게 짜면 될 것 같네요.

i<.... 부분은 저도 급히 생각이 안나서...

정확하진 않겠지만, 이 아이디어 처럼 구성해 보면 될 것 같습니다.

피할 수 있을때 즐겨라! http://melotopia.net/b

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.