Kezdőoldal » Számítástechnika » Programozás » Segítség! Kirúgnak ha ezt nem...

Segítség! Kirúgnak ha ezt nem csinálom meg szombatig! (? )

Figyelt kérdés

Már elnézést a hatásvadász címért, de valós problémáról van szó.

A következő feladatot kell C-ben programoznom, "egyetemes" programozással, inputellenőrzésekkel stb.


"400 nál nagyobb egész számokat kellett bekérni és azokat vizsgálni. Tömb méret nem volt megadva. Csak a példában 5 helyiértékes szám volt a legnagyobb azért azt vettem alapul. A számnak páratlan számjegyűnek kellett lennie , és tükrösnek (Pl:12321). A feladat hogy addig kérd be a helyes számot amíg 2 helyes számot nem kapsz.

Hiba üzenetetek:

-nem szám a bemenet

-400nál kisebb a bemenet

-Nem páratlan számjegyű.

-Nem tükrös szám


Aki megcsinálja az 7 éven át szerencsés lesz és megtalálja élete párját. Ja meg a lottó...nyerni fog rajta!

Viccen kívül; az egész egyetemi tanulmányom múlik ezen, aki segít, azzal felveszem a kapcsolatot és meghálálom valahogy.



2016. máj. 12. 19:16
1 2
 1/15 anonim ***** válasza:

Melyik része nem megy? Vagy úgy cakkumpak írjuk meg?


az egész egy while ciklusban van, amiből akkor lépsz ki, ha egy változó kettő lesz(ezt a változót akkor növeled, ha megfelel minden kritériumnak a szám)


Bekéred a számot, megnézed 400-nál kisebb-e, illetve, hogy szám-e egyáltalán(ha nem kiírod, hogy nem az)

berakod egy tömbbe

Megnézed a hosszát a tömbnek, ha nem páratlan a számjegyű kiírod, hogy nem páratlan számjegyű


A tükrös számhoz, meg összehasonlítod az első és az utolsó(és így tovább) a számjegyeket(tömb elemeket)

2016. máj. 12. 19:24
Hasznos számodra ez a válasz?
 2/15 anonim ***** válasza:

[link]


az első for ciklus nem kell neked belőle.



Egyébként ha már ez nem megy akkor érdemes lenne elgondolkodni, hogy biztos jó szakmát választottál.

És itt most nem magára a feladatra gondolok, hanem arra, hogy nem tudod a google-t használni

2016. máj. 12. 19:32
Hasznos számodra ez a válasz?
 3/15 anonim ***** válasza:
100%

Ha ezt a kutyaf**a ~50 soros programot nem tudod megcsinálni, összegoogle-zni, akkor nyugodtan rúgjanak ki.


("Kirúgni" egyébként nem egy tárgy miatt szoktak, vagy kreditszám, vagy nagyon sokszor föl kell venned, csupa olyan dolog, amire nem egy hét időd volt)

2016. máj. 12. 23:41
Hasznos számodra ez a válasz?
 4/15 anonim ***** válasza:
Basszus már, soha életemben nem programoztam c++-ban, de sztem még én is simán megcsinálnám holnapig. Ide nekem azt az egyetemi diplomát... :D
2016. máj. 13. 03:23
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:
Egyébként szerintem jobban jársz ha nem tömbben tárolod a számjegyeket, hanem string-re való átalakítás után ellenőrzöd hogy megfelel-e a többi feltételnek.
2016. máj. 13. 03:36
Hasznos számodra ez a válasz?
 6/15 anonim ***** válasza:

"A következő feladatot kell C-ben programoznom"

Kulcsszavaknál meg C++ van.

Akkor most melyikben kell megírnod?

Am meddig jutottál vele és hol akadtál el? mi okoz problémát?


23F

2016. máj. 13. 07:34
Hasznos számodra ez a válasz?
 7/15 A kérdező kommentje:

Köszönöm a válaszokat, főleg az első kettőt. Persze igazatok van, de azért a probléma ennél összetettebb. A gazdinfo azért nem csak programozásból áll, és eljön még az ideje hogy megtanulok egy nyelvet, de az egyrészt az nem a C lesz, másrészt nem levelezőn, munka mellett fogom csinálni, mert egyszerűen nincs időm semmire.

Nyílván értem a feladatot, de szintaktikailag sokáig tartana összerakni nekem, és most csak egy esélyem van.

2016. máj. 13. 07:44
 8/15 SimkoL ***** válasza:

A C egy nagyon 'egyszerű' nyelv, de rákényszeríti a használóját a 'logikus gondolkodásra'. Elkezdtem a programodat, nem sokból tart befejezni, a szükséges váltózókat is deklaráltam. Hajrá !!


#include <stdio.h>

#include <stdlib.h>

#include <ctype.h>


int main(){

int elso = 0, masodik = 0, darab = 0, hossz, n;

int szam_e = 1, tukres_e = 1, paratlan_e = 0, kisebb_e = 0, volt_elso = 0;

char szam[100];

printf("Kerem a szamot: ");

scanf("%s", szam);

// Megállapítjuk a hosszt és, hogy valójában csak számjegyeket tartalmaz

for(hossz = 0; szam[hossz] != '\0'; ++hossz) if (!isdigit(szam[hossz])) szam_e = 0;

// Ha szám megnézzük, hogy páros-e a számjegyeinek száma

if ((hossz % 2 == 0) && (szam_e == 1)) paratlan_e = 1;

// Ha 2 digit-nél nagyobb megnézzük visszafelé a harmadik helyiértéket, hogy nagyobb-e mint 3

if ((szam_e == 1) && (hossz <= 3)) if (szam[hossz - 3] < '4') kisebb_e = 1;

// Hibaüzenetek

if (szam_e < 1) printf("Nem szam !\n");

if (paratlan_e == 1) printf("A szam paratlan szamjegyu !\n");

if (kisebb_e == 1) printf("A szam kisebb mint 400 !\n");

system("Pause");

return 0;

}

2016. máj. 13. 08:13
Hasznos számodra ez a válasz?
 9/15 SimkoL ***** válasza:
..de most nézem, hogy a int elso = 0, masodik = 0 nem igen lesz jó, mivel nem olyan számként vizsgáljuk őket, amiket biztosan számmá, intté lehet alakítani, ezért jobb helyettük egy char tömb. Valamint illene vizsgálni van-e bevezető 0 és azokat levágni már az elején.
2016. máj. 13. 08:24
Hasznos számodra ez a válasz?
 10/15 A kérdező kommentje:
SimkoL köszönöm szépen, ez nagy segítség volt, a szám visszont nem kezdődhet nullával a feladat első mondata alapján. Most viszont törlöm a kérdést, nehogy baj legyen belőle.
2016. máj. 13. 09:15
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!