Új hozzászólás Aktív témák
-
e=mc²
őstag
Sziasztok!
Szeretnek segitseget kerni az alabbi programhoz:
#include <stdio.h>
#define TABLA_MERET 8
void futo(char tabla[TABLA_MERET][TABLA_MERET], char input[3]){
int sor, oszlop;
printf("Kerem a futo poziciojat:");
scanf("%s", input);
sor = input[1] - '1';
oszlop = input[0] - 'a';
tabla[sor][oszlop] = 'f';
}
void gyalog(char tabla[TABLA_MERET][TABLA_MERET], char input[3]) {
int sor, oszlop;
do {
printf("Kerem a gyalogok helyzetet:");
scanf("%s", input);
if (input[0] != '*') {
sor = input[1] - '1';
oszlop = input[0] - 'a';
tabla[sor][oszlop] = 'g';
}
} while (input[0] != '*');
}
void futolepes(char tabla[TABLA_MERET][TABLA_MERET]){
int i, sor, oszlop;
int bl = 0;
int bf = 0;
int jl = 0;
int jf = 0;
for (i=sor+1; i<TABLA_MERET; i++) {
//balra le
if ((oszlop+(sor-i) >= 0) && !bl) {
if (tabla[i][oszlop+(sor-i)] != 'g') {
tabla[i][oszlop+(sor-i)] = '*';
}else {
bl++;
}
}
//jobbra le
if ((oszlop-(sor-i) < TABLA_MERET) && !jl) {
if (tabla[i][oszlop-(sor-i)] != 'g') {
tabla[i][oszlop-(sor-i)] = '*';
}else {
jl++;
}
}
}
for (i=sor-1; i>-1; i--) {
//jobbra fel
if ((oszlop+(sor-i) < TABLA_MERET) && !jf) {
if (tabla[i][oszlop+(sor-i)] != 'g') {
tabla[i][oszlop+(sor-i)] = '*';
}else {
jf++;
}
}
//balra fel
if ((oszlop-(sor-i) >= 0) && !bf) {
if (tabla[i][oszlop-(sor-i)] != 'g') {
tabla[i][oszlop-(sor-i)] = '*';
}else {
bf++;
}
}
}
}
void kiir(char tabla[TABLA_MERET][TABLA_MERET]) {
int i, j;
printf("A tabla:\n");
printf("\n ");
for (i=0; i<TABLA_MERET; i++) {
printf("%c ",'A'+i);
}
printf("\n");
for (i=0; i<TABLA_MERET; i++) {
printf("%d ", i+1);
for (j=0; j<TABLA_MERET; j++) {
if (tabla[i][j] != '\0') {
printf("|%c", tabla[i][j]);
} else {
printf("|%c", '.');
}
}
printf("|\n");
}
printf("\n");
}
int main() {
char tabla[TABLA_MERET][TABLA_MERET];
int i, j;
char input[3];
for (i=0; i<TABLA_MERET; i++) {
for (j=0; j<TABLA_MERET; j++) {
tabla[i][j] = '\0';
}
}
futo(tabla, input);
gyalog(tabla, input);
futolepes(tabla);
kiir(tabla);
return 0;
}Ez igy elszall hibaval a futolepes fuggvenyben, meghozza ha minden igaz az oszlop erteke miatt. Hogy lehetne oda atadni a futo aktualis helyzetet a a futo fv-bol? tabla[sor][oszlop]
Ha a gyalog fuggveny fut le elobb, mint a futo fv, akkor jo.
koszi, udv,
Ambulimax Provider
-
e=mc²
őstag
Sziasztok!
Segitseget szeretnek kerni:
Egy postacimet szeretnek beolvasni egy struktura tombbe varos, utca hazszam. formaban.
Na most a varosban jo esetben nincs szokoz, sem a hazszamban (kiveve, ha emelet, ajto van, de ez most nem jatszik). A kozterulet megnevezesenel hogy tudom ugy beiratni, hogy a szokoz utani nevet is beolvassa, pl Petofi Sandor utca.scanf()-el ugye whitespaceig olvassa, ezert ez nem jatszik.
Mutatokat nem szeretnek hasznalani (a feladat sem koveteli meg), igy inkabb hanyagolnam.
A getchar()-t es gets()-t nem igazan hasznaltam meg, probalkoztam veluk is, de nem akarja azt, amit en...A kod reszlet jelenleg igy nez ki:
struct cel_allomas{
char telepules[NEVHOSSZ];
char kozterulet[NEVHOSSZ];
char hazszam[NEVHOSSZ];
};
struct cel_allomas Beker_Cel(){
struct cel_allomas l_cel;
printf("Telepules neve:\n");
scanf("%s", l_cel.telepules);
printf("Kozterulet neve:\n");
scanf("%s", l_cel.kozterulet);
printf("Hazszam:\n");
scanf("%s", l_cel.hazszam);
return l_cel;
}Koszi, udv,
Ambulimax Provider
-
e=mc²
őstag
Megprobaltam gets()-el, es igy modositottam a kodot:
struct cel_allomas Beker_Cel(){
struct cel_allomas l_cel;
char str[NEVHOSSZ];
printf("Telepules neve:\n");
scanf("%s", l_cel.telepules);
printf("Kozterulet neve:\n");
gets(str);
strcpy(l_cel.kozterulet, str);
printf("Hazszam:\n");
scanf("%s", l_cel.hazszam);
return l_cel;
}viszont miert kapok olyan hibat, hogy a hazszamot mar nem keri be, hanem atugorja?
Ambulimax Provider
-
e=mc²
őstag
Bocs, hogy ilyet kerdezek, de hogy kell "elnyelni puszta kezzel"?
Most fgets-el probalkoztam, de az eredmeny...
Igazabol szerintem scanf-el kellene valahogy megoldani, mert a tobbi beolvaso fuggvenyt eddig nem hasznaltuk es megemlitve sem voltak...
Az a baj, hogy ertem en a logikajat, de megoldani mar sajna nem mindig megy...
Ambulimax Provider
-
e=mc²
őstag
Feltettem, 1 napig marad itt fenn...
A scanf-el ami kommentezve van, ott mukodik rendesen, ha nincs szokoz az utcanevben. Es ugye azt kene megoldani, hogy lehessen benne. Pl legyen jo beiraskor az hogy:
- Petofi utca
- Petofi Sandor utca
stbstb..A segitseget pedig koszonom!
[ Szerkesztve ]
Ambulimax Provider
-
e=mc²
őstag
válasz Jester01 #3609 üzenetére
Koszonom szepen, kezdem kapizsgalni!
Megirtam a sajat bekero fuggvenyem, viszont ha minden sort fgets-el kerek be a rendszamhosszt is eggyel meg kellett novelni. Es igy mar mukodik rendesen.
Igaz nem hulyebiztos (tehat ha direkt irnak rosszul bele persze hibas lesz), de nem is ez a cel jelenleg.
Ambulimax Provider
-
e=mc²
őstag
Sziasztok!
Kis segitseget kernek! Miert szall el az alabbi program? [link]
Illetve a debug soran segmentation fault-ot kapok...
Koszi!
Ambulimax Provider
-
-
e=mc²
őstag
Levettem minden define-t 10-re, igy mukodik (nemi finomitas utan).
Jelen esetben Eclipse-t, CodeBlocks-ot es Quincy-t hasznalok MinGW-vel. Mindegyikben megneztem, mindegyikben ugyanaz a hiba. Ha tul nagy a #define-olt szam (esetemben 1000), akkor elszall, a main fuggvenyben eloszor meghivott fuggvenyben. (ahol is van a kerdeses replace).
MinGW-bol is ket fele install van, a CB feltett egyet kulon maganak.
A progi kesz, ugyhogy koszi mindenkinek, aki akart segiteni.
udv,
Ambulimax Provider
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- EA Sports WRC '23
- Kerékpárosok, bringások ide!
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- E-roller topik
- Autós topik
- Sony MILC fényképezőgépcsalád
- Xiaomi 12 - az izmos 12
- Robot fűnyírók
- Gran Turismo
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...