Kezdőoldal » Számítástechnika » Programozás » Miért nem működik helyesen a...

Miért nem működik helyesen a program, hogy ha a tömb méretét adom meg? (többi lent, c++)

Figyelt kérdés

Adott:



bool tizzel(int tomb[],int m)

{

int i=0;

while ((i<=m) && tomb[i]%10==0)i++;



return i>m;

}


int main()

{Ionescu a;

int d[]={10,20,30,40,50, 70,80};

cout<<tizzel(d,4);


return 0;



}



-----

Ha a d tömb mérete mondjuk 2 és mind a két szám osztható tízzel,akkor az eredmény nulla lesz. (persze akkor ez a sor van beírva: tizzel(d,2))

Ha a d tömb mérete 10 és az összes szám osztható maradék nélkül:

tizzel(d,10) esetén az eredmény nulla

tizzel(d,2) esetén az eredmény egy.


2015. márc. 28. 22:29
 1/6 anonim ***** válasza:
Túlindexelés.
2015. márc. 28. 22:39
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

Vegyük példának az

int k[2] tömböt. Ennek a többnek két eleme van: k[0] és k[1] (a legtöbb nyelvben így van, a pascal kivételt képez.


k[2] nem létezik.

2015. márc. 28. 23:01
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Használd a C++ előnyeit, és használj vektort.


#include "stdafx.h" // Precompiled header, ha nem kell szedd ki

#include <iostream>

#include <vector>


bool tizzel(std::vector<int> tomb, int m)

{

if(m > tomb.size() || m < 1)

throw std::out_of_range("bla-bla");


for(int i = 0; i < m; i++)

if(tomb[i] % 10 != 0)

return false;

return true;

}


int main()

{

std::vector<int> d{10, 20};


try

{

std::cout << tizzel(d, 2) << std::endl;

}

catch (std::out_of_range &e)

{

std::cerr << e.what() << std::endl;

}


std::getchar();

return 0;

}

2015. márc. 28. 23:12
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

kk mindenkinek. :)


Hát, "kaptam" ezt a kódot, egyből azt hittem, hogy az m-nek a méretet kell megadni. : D

2015. márc. 28. 23:24
 5/6 anonim válasza:
Szerintem jól gondolod, csak szar a kód, mert a while feltétel (i < m) kéne hogy legyen. Akkor nincs baj
2015. márc. 29. 12:03
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Megnéztem, hogyan hívja meg ezt a fgv-t és alapból úgy hívja meg, hogy ha pl. 4 elemű a tömb, akkor 3-at ad meg.
2015. márc. 29. 15:05

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!