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

Vícerozměrné pole – C / C++ – Fórum – Programujte.comVícerozměrné pole – C / C++ – Fórum – Programujte.com

 

KroYc0
Newbie
16. 2. 2010   #1
-
0
-

Ahojte, řeším tento úkol, a potřeboval bych helpnout jak udělat to samotné maximum, určitě nějak přes přístup k prvkům a nějak je vzájemně porovnat, ale opravdu netuším jak to...Napište v jazyku C funkci int maximum(int prvky[][4], int radku), která vrátí hodnotu největšího čísla uloženého ve dvourozměrném poli prvky. První rozměr pole prvky lze určit pomocí parametru radku, druhý je pevně dán konstantou 4...posílám ještě kod...

#include <stdlib.h>
int maximum(int prvky[][4],int radku);
int main()
{
int i,j;
int prvky [3][4]={{10,2,15,-2},{-52,41,0,12},{15,3,1,-8}};
printf("Vypis pole:\n");
for (i=0; i<3; i++)
for (j=0; j<4; j++)

for (i=0; i<3; i++){
for (j=0; j<4; j++)
printf("%i\t", prvky [i][j]);
printf ("\n");
}


printf("Maximum pole je:\n");

system("PAUSE");
return 0;
}

Nahlásit jako SPAM
IP: 88.146.188.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
16. 2. 2010   #2
-
0
-

no tak vytvoris si promenou total a postupne pomoci cyklu for budes prochazet vsechny prvky pole a kdyz bude vetsi nez total tak total nahradis tim prvkem a jedes dal

Nahlásit jako SPAM
IP: 85.13.98.–
KroYc0
Newbie
17. 2. 2010   #3
-
0
-

To Anonymní uživatel : mohl by jsi to nějak upřesnit, díky

Nahlásit jako SPAM
IP: 88.146.188.–
sputnikone+1
Věrný člen
17. 2. 2010   #4
-
0
-

To KroYc : Uděláš "klasickou" funkci maximum, ale přidáš jeden for pro další rozměr...

Nahlásit jako SPAM
IP: 147.251.53.–
KroYc0
Newbie
17. 2. 2010   #5
-
0
-

To sputnikone : no tak maximum mám,
if (a > b){
if (a > c)
total = a;
else
total = c;
}
else {
if (b < c)
total = c;
else
total = b;
}
a tedka ten for, ke kterymu se pořád nemůžu dostat..

Nahlásit jako SPAM
IP: 88.146.188.–
sputnikone+1
Věrný člen
17. 2. 2010   #6
-
0
-

To KroYc : Tohle není maximum v poli :smile17:

Nahlásit jako SPAM
IP: 147.251.53.–
KroYc0
Newbie
17. 2. 2010   #7
-
0
-

To sputnikone : Aha, tak pak nevím...

Nahlásit jako SPAM
IP: 88.146.188.–
sputnikone+1
Věrný člen
17. 2. 2010   #8
-
0
-

max=prvky[0][0]; 


for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(prvky[i][j]>max)
max=prvky[i][j];

Nahlásit jako SPAM
IP: 147.251.53.–
KroYc0
Newbie
17. 2. 2010   #9
-
0
-

To sputnikone :
int maximum(int prvky[][4],int radku)
{
int i;
int radku;
max=prvky[0][0];

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

for(j=0;j<4;j++)

if(prvky[i][j]>max)max=prvky[i][j];


return soucet;
}
zatím tu funkci mám nějak tak...

Nahlásit jako SPAM
IP: 88.146.188.–
sputnikone+1
Věrný člen
17. 2. 2010   #10
-
0
-

To KroYc : Jaký součet??

Nahlásit jako SPAM
IP: 147.251.53.–
KIIV
~ Moderátor
+43
God of flame
17. 2. 2010   #11
-
0
-

krom toho definuje znova int radku; a aby to nebylo malo tak to ani nepouzije :))

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sputnikone+1
Věrný člen
17. 2. 2010   #12
-
0
-

Je to marné, musím odjet do Tibetu meditovat nad svým věčně špatnými kódy zkaženým životem :smile14:

Nahlásit jako SPAM
IP: 147.251.53.–
KroYc0
Newbie
17. 2. 2010   #13
-
0
-

To sputnikone : každej tam musí..

Nahlásit jako SPAM
IP: 88.146.188.–
sputnikone+1
Věrný člen
17. 2. 2010   #14
-
0
-

To KroYc : Ne, ti co je píší ne...

Nahlásit jako SPAM
IP: 147.251.53.–
KroYc0
Newbie
17. 2. 2010   #15
-
0
-

To sputnikone : tak zatím ten kod vypadá takto, ale chybí mi tam ještě větev else, protože tedka to píše -8 jako poslední prvek pole

#include <stdio.h>
#include <stdlib.h>
int maximum(int prvky[][4],int radku);
int main()
{
int i,j,total;
int prvky [3][4]={{10,2,15,-2},{-52,41,0,12},{15,3,1,-8}};
printf("Vypis pole:\n");

for (i=0; i<3; i++)
for (j=0; j<4; j++)

for (i=0; i<3; i++){
for (j=0; j<4; j++)
printf("%i\t", prvky [i][j]);
printf ("\n");
}
printf("Maximum pole je: %i \n");

system("PAUSE");
return 0;
}

int maximum(int prvky[][4],int radku)
{
int i,j, max;
max=prvky[0][0];
for(i=0; i<3; i++)
for(j=0; j<4; j++)
if(prvky[i][j]>max) max=prvky[i][j];
else

return;
}

Nahlásit jako SPAM
IP: 88.146.188.–
sputnikone+1
Věrný člen
17. 2. 2010   #16
-
0
-

To KroYc : Nevím, co řešíš s nějakým elsem

#include <stdio.h> 

#include <stdlib.h>
int maximum(int prvky[][4],int radku);
int main()
{
int i,j,total;
int prvky [3][4]={{10,2,15,-2},{-52,41,0,12},{15,3,1,-8}};
printf("Vypis pole:\n");

for (i=0; i<3; i++){
for (j=0; j<4; j++){
printf("%i\t", prvky [i][j]);
printf ("\n");
}
}
printf("Maximum pole je: %i \n", maximum(&prvky,3));

//system("PAUSE");
getchar();
return 0;
}

int maximum(int prvky[][4],int radku)
{
int i,j, max;
max=prvky[0][0];
for(i=0; i<3; i++)
for(j=0; j<4; j++)
if(prvky[i][j]>max) max=prvky[i][j];

return max;
}

Nahlásit jako SPAM
IP: 147.251.53.–
KIIV
~ Moderátor
+43
God of flame
17. 2. 2010   #17
-
0
-

furt nepouzivate "radku"

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sputnikone+1
Věrný člen
17. 2. 2010   #18
-
0
-

To KIIV : Jj, ja jsem to jenom copypastnul a lehce přepsal :smile1:

Nahlásit jako SPAM
IP: 147.251.53.–
KIIV
~ Moderátor
+43
God of flame
17. 2. 2010   #19
-
0
-

To sputnikone : on to nezvladne doplnit na spravne misto :D

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sputnikone+1
Věrný člen
17. 2. 2010   #20
-
0
-

To KIIV : Tak mu to tam radši nebudem dávat

#include <stdio.h> 

#include <stdlib.h>
int maximum(int prvky[][4]);
int main()
{
int i,j,total;
int prvky [3][4]={{10,2,15,-2},{-52,41,0,12},{15,3,1,-8}};
printf("Vypis pole:\n");

for (i=0; i<3; i++){
for (j=0; j<4; j++){
printf("%i\t", prvky [i][j]);
printf ("\n");
}
}
printf("Maximum pole je: %i \n", maximum(&prvky));

//system("PAUSE");
getchar();
return 0;
}

int maximum(int prvky[][4])
{
int i,j, max;
max=prvky[0][0];
for(i=0; i<3; i++)
for(j=0; j<4; j++)
if(prvky[i][j]>max) max=prvky[i][j];

return max;
}

Nahlásit jako SPAM
IP: 80.239.242.–
m->29+6
Super člen
17. 2. 2010   #21
-
0
-

Keď ti nejdú vnorené cykli tak to sprav len jedným:

#include <stdlib.h>

#include <stdio.h>

int maximum(int prvky[][4], int radku) {
int max = prvky[0][0];

for(int i=0; i<radku; i++) {
if(prvky[i][0] > max) max = prvky[i][0];
if(prvky[i][1] > max) max = prvky[i][1];
if(prvky[i][2] > max) max = prvky[i][2];
if(prvky[i][3] > max) max = prvky[i][3];
}

return max;
}

int main(void) {
int prvky [3][4] = {
{10, 2, 15, -2},
{-52, 41, 0, 12},
{15, 3, 1, -8},
};

printf("maximum z pola je %d\n", maximum(prvky, 3));

return EXIT_SUCCESS;
}

Nahlásit jako SPAM
IP: 147.229.208.–
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, 25 hostů

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ý