ďťż
 
 
   [+] program rysujacy pusty w srodku kwadrat.... nie dziala
 
 

Tematy

 
    
 

 

 

 

[+] 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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis