Diskuze: Dvourozměrné pole ve funkci
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
No, člověče... Máš tam dost chyb...
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
const int radek = 10;
const int sloupec = 10;
int NajdiPocetStaticky(int (*pole)[sloupec], const int radek, const int sloupec, const int cislo)
{
int pocet = 0;
for (int i = 0; i < radek; i++)
{
for (int j = 0; j < sloupec; j++)
{
if (pole[j][i] == cislo)
{
pocet++;
}
}
std::cout << std::endl;
}
return pocet;
}
int NajdiPocetDynamicky(int** pole, const int radek, const int sloupec, const int cislo)
{
int pocet = 0;
for (int i = 0; i < radek; i++)
{
for (int j = 0; j < sloupec; j++)
{
if (pole[j][i] == cislo)
{
pocet++;
}
}
std::cout << std::endl;
}
return pocet;
}
int main()
{
int pole[sloupec][radek];
int *dynamickePole[sloupec];
for (int i = 0; i < sloupec; ++i)
{
dynamickePole[i] = new int[radek];
}
for (int i = 0; i < radek; i++)
{
for (int j = 0; j < sloupec; j++)
{
dynamickePole[j][i] = rand() % 10;
pole[j][i] = dynamickePole[j][i];
std::cout << dynamickePole[j][i] << " ";
}
std::cout << std::endl;
}
std::cout << "Pocet dynamicky je: " << NajdiPocetDynamicky(dynamickePole, radek, sloupec, 5) << std::endl;
std::cout << "Pocet je: " << NajdiPocetStaticky(pole, radek, sloupec, 5) << std::endl;
return 0;
}
Nebyla definována hodnota proměnné pocet, v podmínce bylo = namísto ==. Polím a tedy i pointerům očividně moc nerozumíš, je třeba rozeznávat dynamické a statické pole. Doporučuji to dostudovat...
Zobrazeno 3 zpráv z 3.