c++ 에러메시지좀 봐주세요.

익명 사용자의 이미지

#include"stdio.h"
#include"math.h"

void simul();
double a[3][3]={1.0,2.0,3.0,10.0,0.0,3.0,1.0,1.0,2.0};
double b[3]={7.0,0.0,14.0};
int n=3,ind=1;

void main()
{
int i,j;

printf("Solution of simultaneous linear equation\n");
printf("Original coefficient matrix\n");
for(i=0;i for(j=0;j printf("\n");
}

printf("Right hand side vector\n");
for(i=0;i printf("\n");
simul();

printf("Inverse of coefficient matrix\n");
for(i=0;i for(j=0;j printf("\n");
}
printf("Solution vector\n");
for(i=0;i

}

void simul()
{
double la[3],lb[3][2],s[3],z,tem,tem1,tem2;
int i,j,k,ia,ib;

for(i=0;i for(k=0;k z=0.0;

for(i=0;i if(la[i]==1) goto t150;}
for(j=0;j tem=la[j]-1.0;
if(tem<0) {goto t130; }
if(tem==0) {goto t140;}
if(tem>0) {goto t300; }
t130
tem1=fabs(z);
tem2=fabs(a[i][j]);

if(tem1>=tem2) goto t140;}
ia=i;
ib=j;
z=a[i][j];
t140
t150

la[ib]=la[ib]+1;
if (ia==ib) goto t190;
for(i=0;i z=a[ia][i];
a[ia][i]=a[ib][i];
a[ib][i]=z;
}
if(ind==0) goto t190;
z=b[ia];
b[ia]=b[ib];
b[ib]=z;
t190
lb[k][0]=ia;
lb[k][1]=ib;
s[k]=a[ib][ib];
a[ib][ib]=1.0;
for(i=0;i if(ind==0) goto t220;
b[ib]=b[ib]/s[k];}
t220
for(i=0;i if (i==ib) goto t250;}
z=a[i][ib];
a[i][ib]=0.0;
for(j=0;j if(ind==0) goto t250;
b[i]=b[i]-b[ib]*z;

t250

for(i=0;i j=n-i-1;
if(lb[j][0]==lb[j][1]) goto t270;}
lb[j][0]=ia;
lb[j][1]=ib;
for(k=0;k z=a[k][ia];
a[k][ia]=a[k][ib];
a[k][ib]=z;}
t270
t300}
-----------------------------------------
In function `void simul()'
105 label must be followed by statement

c++ 2.95.3 입니다.
제가 c++ 는 아는게 없습니다. 이 소스도 다른 사람에게 얻은건데
컴파일이 안되서 어떻게 고쳐야 할지 모르겠네요.

익명 사용자의 이미지

이 프로그램은 c++코드가 아닙니다.

프로그램의 문제점만 간단히 지적 하겠습니다.

1. 보통의 main 함수는 int형이 기본입니다.
아마 main의 return형이 다르다는 경고를 만날 겁니다.
(dos에서나 통하겠네요.)
2. goto문을 밥먹듯이 쓰고 있는데요.
이런 프로그램은 아무도 보지 않습니다.
한 함수에서 2개 이상의 goto가 들어가면 분석하기가
곤란해질겁니다.
3. 프로그램을 너무 산만하게 작성하네요.
{}가 정확히 구분 안되고요. 줄도 지멋데로네요.
규칙이 전혀 보이지 않데요. 나름데로의 자신의
스타일을 자져야 하겠네요.
4. 변수들을 그냥 나열만 하는데, 의미적인 요소가 전혀 없네요.
무슨 자료를 담을 변수인지...
5. 변수들의 초기화는 언제하죠. 집에가서 할 건가요?

문제가 너무 많군요.
그러나 프로그램은 5번항만 참고하면 error없이 동작하게요.
신기한 일이죠.
변수의 의미를 모르니 그냥 ia=0, ib=0으로 하면 결과를
볼수는 있을 겁니다. 무슨 도움이 될런지.

goto문 연습 잘 봤는데.
경계를 해야할 프로그램의 전형입니다.

익명 사용자의 이미지

답변 감사합니다.
그런데..이게 C++ 이 아니라니.. 그럼 C 인가요?
C 도 거의 아는게 없지만,,, 대충 보면,, C 같긴하더라구요. ㅡㅡ;
친구놈한테 구한건데, 이렇게 허접한거라도 없으면
레포트 제출을 못하거든요. ㅡ.ㅡ;
이게 원래는 C, C++ 로 만든게 아니라서요. 다른 언어로 된걸 엉성하게
맞추다보니,, 허접하게 변하게 된것 같습니다.
뭐~~ 전 그런 엉성한 실력도 없어서 부탁해서 구한겁니다. ㅡ.ㅡ;
사실,,goto 사용하는거 보고,, 나름대로 c++에서는 goto를 사용하는구나!!
이렇게 생각했습니다. ^^;
C 에서는 goto사용하지 말라고 들었거든요.
ai=0, bi=0 이렇게 해줘도...
In function `void simul()'
105 label must be followed by statement

마찬가지로 에러 납니다.

언제쯤 C 고수가 될까?? ㅡ.ㅡ;

익명 사용자의 이미지

이 소스는 문법만 c이지 완전 암호문 같군요.
105 label must be followed by statement
해석해 보세요. label은 statement가 뒤따라야 한다는 뜻입니다.

t270
t300

이라고 되어 있는 label에 statement가 없어서 그렇습니다.
뭐 컴파일만 되게 하려면

t270 1;
t300 1;

이렇게 하세요. 그러면 g++로 컴파일은 됩니다.
아니면 문법 체크를 약하게 하는 gcc를 사용해서 컴파일 하시던지요.

참고로 그렇게 해서 실행해도 에러가 납니다.

야검 wrote..
답변 감사합니다.
그런데..이게 C++ 이 아니라니.. 그럼 C 인가요?
C 도 거의 아는게 없지만,,, 대충 보면,, C 같긴하더라구요. ㅡㅡ;
친구놈한테 구한건데, 이렇게 허접한거라도 없으면
레포트 제출을 못하거든요. ㅡ.ㅡ;
이게 원래는 C, C++ 로 만든게 아니라서요. 다른 언어로 된걸 엉성하 게
맞추다보니,, 허접하게 변하게 된것 같습니다.
뭐~~ 전 그런 엉성한 실력도 없어서 부탁해서 구한겁니다. ㅡ.ㅡ;
사실,,goto 사용하는거 보고,, 나름대로 c++에서는 goto를 사용하는 구나!!
이렇게 생각했습니다. ^^;
C 에서는 goto사용하지 말라고 들었거든요.
ai=0, bi=0 이렇게 해줘도...
In function `void simul()'
105 label must be followed by statement

마찬가지로 에러 납니다.

언제쯤 C 고수가 될까?? ㅡ.ㅡ;

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.