2 rozměrné pole - příklad – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

2 rozměrné pole - příklad – C / C++ – Fórum – Programujte.com2 rozměrné pole - příklad – C / C++ – Fórum – Programujte.com

 

honza
~ Anonymní uživatel
451 příspěvků
30. 4. 2010   #1
-
0
-

Zdravím, potřeboval bych program, který vygeneruje do dvourozměrného pole 5x6 čísla 1 a 0 až na poslední řádek. Tam se totiž čísla ve sloupcích převedou do 10 soustavy...

1 x x x x
0 x x x x
1 x x x x
0 x x x x
10 x x x x

Díky :)

Nahlásit jako SPAM
IP: 80.250.14.–
liborb
~ Redaktor
+18
Guru
30. 4. 2010   #2
-
0
-

Definuj pole ... 2x for cyklus ... rand pro náhodné číslo ... tím si naplníš pole.

Můžeš rovnou při procházení (když si to budeš plnit po sloupcích) tvořit z toho co vygeneruješ skutečné číslo (bitové operace), které pak uložíš do toho posledního řádku. Nebo to můžeš projít po naplnění znovu, to už je jedno.

Nahlásit jako SPAM
IP: 85.207.166.–
honza
~ Anonymní uživatel
451 příspěvků
30. 4. 2010   #3
-
0
-

To liborb :

#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <time.h>
#define R 5
#define S 6
#include <math.h>

using namespace std;

void napln_n(int pole[][S])
{
int i,j;
srand(time(NULL));
for(i=0;i<R-1;i++)
{
for(j=0;j<S;j++)
}
{
pole
}
return;

void vypis(int pole[][S])
{
int i,j;
for (i=0;i<R;i++)
{
for(j=0;j<R;j++)
{
printf ("%d ", pole[R][S])
}
printf ("\n")
}
return;
}

int main(int argc, char *argv[])
{
int pole[R][S];
napln_n(pole);

system("PAUSE");
return EXIT_SUCCESS;
}



Nevim ale co mám dát do toho pole aby fungovaly ty 0 a 1... já bych potřeboval ten zbytek... ty 0 a 1 jsem teď sotva dodělal a dál fakt nevim... bych potřeboval to udělat...

Nahlásit jako SPAM
IP: 80.250.14.–
liborb
~ Redaktor
+18
Guru
30. 4. 2010   #4
-
0
-

Třeba toto:



pole[i][j] = rand() % 2;


A na to vytvoření čísla se ti budou hodit bitové operace posun < a logický součet | .

Nahlásit jako SPAM
IP: 85.207.166.–
honza
~ Anonymní uživatel
451 příspěvků
30. 4. 2010   #5
-
0
-

To liborb :

#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <time.h>
#define R 5
#define S 6
#include <math.h>

using namespace std;

void napln_n(int pole[][S])
{
int i,j;
srand(time(NULL));
for(i=0;i<R-1;i++)
{
for(j=0;j<S;j++)

pole[i][j] = rand() % 2;
}
return;
}

void vypis(int pole[][S])
{
int i,j;
for (i=0;i<R;i++)
{
for(j=0;j<R;j++)
{
printf ("%d ", pole[R][S]);
}
printf ("\n");
}
return;
}

int main(int argc, char *argv[])
{
int pole[R][S];
napln_n(pole);
vypis(pole);

system("PAUSE");
return EXIT_SUCCESS;
}


Nevíš proč mi to vypisuje jen 1 a to úplně všude?

Nahlásit jako SPAM
IP: 80.250.14.–
liborb
~ Redaktor
+18
Guru
30. 4. 2010   #6
-
0
-

Vím :smile1: .



printf ("%d ", pole[R][S]);

//nahraď správným
printf ("%d ", pole[i][j]);

Nahlásit jako SPAM
IP: 85.207.166.–
honza
~ Anonymní uživatel
451 příspěvků
30. 4. 2010   #7
-
0
-

Když jsem to teď udělal, tak mi to vypisuje hrzoný blbosti... zkus to schválně spustit...

Nahlásit jako SPAM
IP: 80.250.14.–
liborb
~ Redaktor
+18
Guru
30. 4. 2010   #8
-
0
-

Jjj píše to kraviny :smile1:



1 1 0 0 1
1 0 1 1 1
1 0 0 1 1
0 0 1 0 0
1 0 1 1 1
Pokračujte stisknutím libovolné klávesy...


Máš prohozenou velikost S a R (když v těch cyklech děláš R - 1). A při výpisu si oprav rozmení for cyklů dle zadávání.

Nahlásit jako SPAM
IP: 85.207.166.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
30. 4. 2010   #9
-
0
-

A jak udělám aby poslední řádk byl jen 0? Pak už zvládnu ten převod do tý 10 :) dík

Nahlásit jako SPAM
IP: 80.250.14.–
liborb
~ Redaktor
+18
Guru
30. 4. 2010   #10
-
0
-

Vynulování celého pole, tj, nejlépe před jeho prvním použitím:



memset(pole, 0, sizeof(pole));

Nahlásit jako SPAM
IP: 85.207.166.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

Podobná vlákna

N rozmerne pole — založil Keyzio

Více rozměrné pole(seznam) v Pythonu — založil midnighter@centrum.cz

Priklad — založil ukulele

Příklad v C++ — založil squirrel

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý