A következő programom miért nem működik rendesen, illetve mi a hiba benne? Egy mátrixban megszámolom azokat a sorokat amik monoton nőnek, és utána kiírom a helyük sorszámát.
A megszámolásom működik, csak az a hibám hogy nem írja ki a sorszámokat helyesen.
Tehát megszámolja azt, hogy hol nőt monoton a sorozat és kiírja helyesen, viszont azt h melyik sorban azt nem tudom megállapítani.
A segítséget előre is köszi :)
6 8
5 10 15 20 25 30 35 40
0 2 0 0 0 0 0 0
0 0 0 1 0 3 0 2
0 1 2 3 4 5 6 7
5 1 0 0 2 1 0 7
0 0 0 0 0 1 3 0
A c++-kódom:
#include <iostream>
using namespace std;
int main()
{
int N;
int M;
cin >> N >> M ;
int matrix[N][M];
for (int i=0; i<N; i++)
{
for (int j=0; j<M; j++)
{
cin >> matrix[i][j];
}
}
///Feladat
int h[N];
for (int i=0; i<N; i++)
{
h[i]=0;
}
int db=0;
for (int i=0; i<N; i++)
{
for (int j=0; j<M; j++)
{
if (matrix[i][j] < matrix[i+1][j])
{
db++;
h[i]=i;
}
}
}
//megszámolás kiírása ami jó és működik
cout << db/N << endl;
for (int i=0; i<N; i++)
{
cout << h[i]+1 << " ";
}
return 0;
}
Mi akar lenni az a 'h' tömb?
Ott valami nagyon nagy kavar van.
Igen valóban a h tömb-nél van kavar.
A h tömb azoknak a soroknak a helye ahol, a sor monoton növő volt.
Tehát azok helye és darabszáma kell ahol a sor növő volt.
A darabszám megvan, de a hely elcsúszik, mit tegyek?
Köszi szépen
kedves sharkxxx!
Köszönöm szépen hogy segítettél és ment a zöld pacsi!
Annyi kérdésem lenne, hogy a kódodban a novekszik &=
az &= mit jelent?
köszi széepen :)
Ez a művelet:
novekszik &= (matrix[i][j] < matrix[i][j+1]);
ugyanaz, mint ez a művelet:
novekszik = novekszik && (matrix[i][j] < matrix[i][j+1]);
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!