Δημοσιεύτηκε: 28 Απρ 2011, 15:03
Είναι καλό να γράφεις το πρόγραμμα «σε στήλες» για να διαβάζεται καλύτερα.
Μπορείς να το κάνεις και τώρα, με το πρόγραμμα indent,
και μετά
Έτσι, ο κώδικάς σου είναι
Η εντολή
που χρησιμοποιείς δε λειτουργεί σε Linux (είναι για Windows), οπότε μπορείς να την αφαιρέσεις.
Ή, να χρησιμοποιήσεις κάτι σαν
που κάνει το ίδιο πράγμα.
Μπορείς να το κάνεις και τώρα, με το πρόγραμμα indent,
- Κώδικας: Επιλογή όλων
sudo apt-get install indent
και μετά
- Κώδικας: Επιλογή όλων
indent -tc /tmp/myprog.c
Έτσι, ο κώδικάς σου είναι
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
void tamplo (int n, int m, int **pa);
void narkes (int n, int m, int **pa);
int
main (int argc, char *argv[])
{
int i, j, n, m, o, p, a, b, r1, r2, q, w;
int **pa = NULL;
printf ("Dwste tis diastaseis tou paixnidiou n x m\n");
printf ("Prosoxh, to tamplo mporei na exei megethos to poly 24x30\n");
scanf ("%d%d", &n, &m);
printf ("Epilxte to epipedo duskolias tou paixnidiou\n");
printf
("Pathste 1 gia eukolo, 2 gia metro, 3 gia duskolo kai 4 gia akatorthoto\n");
scanf ("%d", &o);
if (o == 1)
{
p = m * n / 8;
}
if (o == 2)
{
p = m * n / 7;
}
if (o == 3)
{
p = m * n / 6;
}
if (o == 4)
{
p = m * n / 5;
}
pa = (int **) calloc (n, sizeof (int *)); //desmeush mnhmhs gia dimiourgia 2d pinaka
for (i = 0; i < n; i++)
{
pa[i] = (int *) calloc (m, sizeof (int));
}
tamplo (n, m, pa);
printf ("dwste tis syntetagmenes tou tetragwnou pou thelete na anoixete\n");
scanf ("%d%d", &a, &b);
pa[a][b] = 9;
q = n + 1;
w = m + 1;
for (i = 0; i < p; i++)
{
do
{
r1 = rand () % q;
r2 = rand () % w;
}
while (r1 == a && r2 == b);
pa[r1][r2] = 1; //to 10 antiprosopevei tis narkes
}
tamplo (n, m, pa);
for (i = 0; i < n; i++)
{
free (pa[i]);
}
free (pa);
system ("PAUSE");
return 0;
}
Η εντολή
- Κώδικας: Επιλογή όλων
system ("PAUSE");
που χρησιμοποιείς δε λειτουργεί σε Linux (είναι για Windows), οπότε μπορείς να την αφαιρέσεις.
Ή, να χρησιμοποιήσεις κάτι σαν
- Κώδικας: Επιλογή όλων
#include <stdlib.h>
int main(void)
{
system("read a");
return 0;
}
που κάνει το ίδιο πράγμα.