Kezdőoldal » Számítástechnika » Programozás » C nyelvű programozásból kéne...

C nyelvű programozásból kéne egy kis help.4 órája agyalok rajta, de nem akar összejönni :/. Hol van a programtörzsben hiba, illetve mi az ami még hiányzik belőle?

Figyelt kérdés

A feladat a következő: Írj programot, amely bekéri a felhasználó kedvenc számát, majd létrehoz egy 10 elemű egészek tárolására alkalmas tömböt,

amit feltölt -51 és 51 közötti véletlen egész számokkal (-51 és 51 is lehet a generált szám). Majd meghív egy eljárást,

amely paraméterül megkapja a kedvenc számra mutató mutatót, a tömböt és annak méretét, majd módosítja a kedvenc számot

úgy, hogy minden tömbelemhez generál egy véletlen egész számot 0-t vagy 1-t. Ha a 0-t generált egy tömbelemhez, akkor azt

a tömbelemet hozzáadja a kedvenc számhoz, ha 1-est generált, akkor pedig kivonja a kedvenc számból a tömbelemet. Majd a

program írja ki a képernyőre a módosított kedvenc számot.

Ennyire jutottam:

#include <stdio.h>

#include <stdlib.h>


int (int *p)

int main(){

int i,j,k=0,l=1,t1[10],int*p,also=0,felso=1;

printf("Add meg a kedvenc szamod!\n");

scanf("%d",j);

for(i=0;i<10;i++)

t1[i]=rand()%(-51-51+1)+51;

p*=j&&t[10];

for(i=0;i<10;i++)

t1[i]=rand()%(felso-also)+also;

if(t1[i]=rand()%(felso-also)+also==k) {printf("A megvaltozott kedvenc szam:(t1[i]+k)\n);}

if(t1[i]=rand()%(felso-also)+also==l) {printf("A megvaltozott kedvenc szam:(l-t1[i])\n);}



system("PAUSE");

return 0;

}


Valaki meg tudná mondani, hogy hol a hiba?



2013. márc. 15. 01:00
 1/5 anonim ***** válasza:

"meghív egy eljárást" ez a feladat, de én itt nem látom, hogy valahol is meghívtál volna egyet.

Ez mi? p*=j&&t[10];

meg ez? int (int *p)


Ha több sort akarsz a for-ciklusba rakni, akkor {} kell.


stb...

Nem ártana, ha a szintaxisra több figyelmet fordítanál.

2013. márc. 15. 01:39
Hasznos számodra ez a válasz?
 2/5 anti paladin ***** válasza:

For (feltétel) { ciklusutasítás }

Kapcsos zárójelek hiánya.


Aztán:

If then else kapcsolatra szokj rá ahelyett hogy két if feltétel vizsgálatot raksz egymás alá.


Első blikkre ennyi, amit kihagytam majd elmondják nálam okosabbak. :)

2013. márc. 15. 01:42
Hasznos számodra ez a válasz?
 3/5 gyorki92 ***** válasza:

Gyanús, hogy feltetted ugyanezt a kérdést. Másik részről, nem hiszem, hogy a segitség után, amit ott kaptál, ennyire elrontottad volna a kódot...


A legnagyobb hiba, hogy miközben a

"p*=j&&t[10]; "-vel referenciát akarsz beállitani, a "*=" művelet a szorzás röviditett változata, a "&&" egy logikai ÉS kifejezés. Amit te akartál, ennyi:

p=&j; Ahol 'p' a pointered, &j pedig a referencia a 'j' értékére.

később hivatkozhatsz erre az értékre '*p'ként.

Itt a másik kérdés, ott több választ is találsz:

http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..


Ja, és igen, for, if, while, etc blokkoknál a végrehajtandó utasitásokat mindig rakd {} közé, átláthatóbb, és később megakadályozod az akaratlan hibákat, ha ki akarod egésziteni a kódblokkot.

2013. márc. 15. 06:41
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
42%
Ennél szarabb kódot még életemben nem láttam. :D
2013. márc. 15. 10:29
Hasznos számodra ez a válasz?
 5/5 iostream ***** válasza:
Akkor még nem dolgoztál telkóban :D
2013. márc. 15. 10:50
Hasznos számodra ez a válasz?

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!