|
[+] program rysujacy pusty w srodku kwadrat.... nie dziala
frantic - 20-10-2007 20:23
#include<stdio.h> void rysuj_kwadrat(int n){ for(n = 1; n <= 10; n += 1){ if ((n == 1) || (n == 10)) printf("**************"); else printf("* *"); } int main(){ rysuj_kwadrat; return 0; }
gcc -o kw kwadrat.c kwadrat.c: In function ‘rysuj_kwadrat’: kwadrat.c:12: error: expected declaration or statement at end of input
ktos wie o co mu chodzi? bo ja sie mecze z tym juz pol godziny i nic :-(
ponton - 20-10-2007 20:45
int main(){ rysuj_kwadrat; return 0; }
ÂŻeby wywołać funkcje, musisz dopisać nawiasy (). rysuj_kwadrat().
thalcave - 20-10-2007 21:20
#include<stdio.h>
void rysuj_kwadrat() { int n; for(n = 1; n <= 10; n += 1) if ((n == 1) || (n == 10)) printf("**************"); else printf("* *"); }
int main() { rysuj_kwadrat(); return 0; }
to działa - ale żadnego efektu nie ma :-? ... sensownego
Theq - 20-10-2007 21:57
przydalyby sie znaki konca linii
cepe - 21-10-2007 01:15
#include <stdio.h>
void RysujKwadrat(int);
int main() { RysujKwadrat(10); return 0; }
void RysujKwadrat(int n) { int a,b; a = n; while (a--) printf("*"); printf("\n"); a = n - 2; while (a--) { printf("*"); b = n - 2; while (b--) printf(" "); printf("*"); printf("\n"); } a = n; while (a--) printf("*"); printf("\n"); }
gcc ale_mi_sie_nudzi.c -o kwadrat
Enjoy!
frantic - 21-10-2007 11:27
@ponton: wiem jak sie wywoluje funkcje ale chodzilo mi o to czemu ta moja nie chce dzialac :-) to wywolanie dopisalem na szybko, stad tez blad ;-) @cepe: ten twoj jest dobry ale poprawilem moj kod, jest troche bardziej zwiezly niz twoj ;-) #include<stdio.h> void rysuj_kwadrat(int n){ for(n = 1; n <= 10; n += 1){ if ((n == 1) || (n == 10)) printf("* * * * * * * * * * *\n"); else printf("* *\n"); }} int main(){ rysuj_kwadrat(20); return 0; }
brakowalo "}" po printf("* *"); :-P widac czas juz do okulisty
mlyczek - 23-10-2007 00:12
void rysuj_kwadrat(int n){ for(n = 1; n <= 10; n += 1){ if ((n == 1) || (n == 10)) printf("* * * * * * * * * * *\n"); else printf("* *\n"); }}
1) Po co robisz funkcję z parametrem i przekazujesz do tej funkcji jakiś parametr, skoro go później w niej nie wykorzystujesz? Jeśli ta funkcja rysowałaby kwadrat o n wielkościo to miałoby to sens, ale skoro ona zawsze rysuje taki sam kwadrat niezależnie od n, to po co go przekazujesz do tej funkcji?
2)
brakowalo "}" po printf("* *"); widac czas juz do okulisty
Bo piszesz strasznie wszystko zwarte i nieczytelne, jakbyś miał program napisany tak jak ten wyżej, ale choćby tylko około 100 linii to nic w nim nie znajdziesz. Nie lepiej (i przede wszystkim czytelniej napisać go tak: #include<stdio.h>
void rysuj_kwadrat(int n) { for(n = 1; n <= 10; n += 1) { if ((n == 1) || (n == 10)) printf("* * * * * * * * * * *\n"); else printf("* *\n"); } }
int main() { rysuj_kwadrat(20);
return 0; }
Przydałyby sie jeszcze jakieś komentarze. Dobre nawyki wyrabiane już na początku są bardzo ważne. Bo tak jak teraz nauczysz się pisać, tak będziesz pisać i w przyszłości.
frantic - 23-10-2007 20:17
co do wciec to masz racje, musze sie tego nauczyc :->
Po co robisz funkcję z parametrem i przekazujesz do tej funkcji jakiś parametr, skoro go później w niej nie wykorzystujesz? Jeśli ta funkcja rysowałaby kwadrat o n wielkościo to miałoby to sens, ale skoro ona zawsze rysuje taki sam kwadrat niezależnie od n, to po co go przekazujesz do tej funkcji?
po prostu uczylem sie robienia funkcji z parametrem i tylko takich uzywalem dotychczas bo zwykle wykonywaly one jakies dzialania arytmetyczne, i tutaj masz racje a kod tez poprawilem bo trzeba sie tych dobrych nawykow uczycz :-D
#include<stdio.h> void rysuj_kwadrat(){ int n; for(n = 1; n <= 10; n += 1){ if ((n == 1) || (n == 10)) printf("* * * * * * * * * * *\n"); else printf("* *\n"); } } int main(){ rysuj_kwadrat(); return 0; }
co do komentarzy to w tym "programie" chyba nie ma czego komentowac bo funkcja ma dobra(chyba) nazwe i wiadomo co robi, jest tylko jedna petla wiec tak naprawde nie wiem co tu komentowac... ale mniejsza z tym dopisuje [+] do tematu :-)
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|