
problem s programom,Java,NetBeans
Ahojte,Prosim vas mali sme zadat nahodne cisla do pola,najst min a max a vymenit ich..vedel by mi niekto pomoct s vymenou ? :) Mam napriklad cisla 8 8 0 9 1 2,nasiel som min ( tj 0 ) a maximum ( tj 9 ) ale neviem z toho dostat 8 8 9 0 1...a pocet vyskytov je zanedbatelny,len prvy vyskyt vymenit...Dakujem za rady :)
int pole[] = {8, 8, 0, 9, 1, 2};
int pole2[] = pole;
int max = pole[0], min = pole[0];
int pozice_min = 0, pozice_max = 0;
for (int i = 0; i < pole.length ; i++) {
if (pole[i] > max) {
max = pole[i];
pozice_max = i;
}
if (pole[i] < min) {
min = pole[i];
pozice_min = i;
}
}
pole2[pozice_max] = min;
pole2[pozice_min] = max;
for (int i: pole2) {
System.out.println(i);
}
Dakujem ti :) ale na to ze v tom nerobim ani mesiac tak dost tazke :) Potreboval by som len upravit to co som posielal,snazim sa aj pomocou tohto trocha :)
Nic si neposílal, jenom jsi řekl, že chceš vyměnit max a min, tak jsem to napsal stylem, jakým bych to udělal. Je to sice primitivní způsob, ale aspoň srozumitelný. Takže co vlastně chceš?
hej je to zrozumitelne,len sme tam este nemali take veci ako si ty predviedol :) mam tam vlastne toto...a na konec chcem dat tu vymenu a vypis
public static void main(String[] args) {
int pole [ ] = new int [6];
for (int i = 0; i < pole.length; ++i)
{
pole [i] = (int) (0 + Math.random( ) * 9);
}
System.out.println("pole: ");
for (int i = 0; i < pole.length; ++i)
{
System.out.print(pole [i] + " " );
}
int max = pole [0];
for (int imax = 0; imax < pole.length; ++imax)
{
if ( pole [imax] > max)
max = pole [imax] ;
int pom = imax;
}
System.out.println("\nNajväčší prvok poľa je: " + max);
int min = pole [0];
for (int imin = 0; imin < pole.length; ++imin)
{
if ( pole [imin] < min)
min = pole [imin] ;}
System.out.println("Najmenší prvok poľa je: " + min);
}
}
Trocha to máš pomiešané.
int pom = imax; daj mimo cyklu, a takisto System.out.println("Najmenší prvok poľa je: " + min);
Následne sprav výmenu, a pridaj výpis poľa.