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;
}
Fórum › C / C++
Vícerozměrné pole
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
To KroYc : Uděláš "klasickou" funkci maximum, ale přidáš jeden for pro další rozměr...
To KroYc : Tohle není maximum v poli :smile17:
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];
To KroYc : Jaký součet??
Je to marné, musím odjet do Tibetu meditovat nad svým věčně špatnými kódy zkaženým životem :smile14:
To KroYc : Ne, ti co je píší ne...
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;
}
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;
}
To KIIV : Jj, ja jsem to jenom copypastnul a lehce přepsal :smile1:
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;
}
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;
}
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Z proměnných v poli vytvořit asociované vícerozměrné pole — založil ondrej
Razeni pole ktere v sobe ma dalsi pole podle hodnoty indexu — založil david
Zapsání generovaného čísla do pole a zapisování generovaných čísel d… — založil juraj111
Jak z "List<Integer> pole" uddelat normalni "int[] pole" — založil K4BlOs
Definice pole v C (jak použít pole uvnitř struct?) — založil oxidián
Moderátoři diskuze