Jump to content

Maksimālā masīva elementu vidējā vērtība.


P_S
 Share

Recommended Posts

Labvakar!
 

Vai kāds man lūdzu var paskaidrot kā ievadītajam masīvam atrast maksimālo vērtību, tātad priekšmetu, kurā ir visaugstākā vidējā atzīme un visvairāk nesekmīgo atzīmju? Saprotu, ka kaut kur būtu jādefinē pirmā maksimālā vērtība un pēc tam ar to jāsalīdzina pārējās, tomēr nesaprotu, kur tieši.

 

class Vadibas_Operatori {
   public static void main (String args []) {
   int kolonnas=4,rindas=3;
  double videja;   
  
    int Masivs [][]={{2,3,0,5},
		   {4,7,6,9},
		   {8,7,9,8}};
     
   String Prieksmeti[] = {"Matematika", "Krievu valoda", "Sports", "Progarmmesana"};

   int atzime=4, skaits, summa, nesekmigas;   
  	 for (int j=0; j<kolonnas; j=j+1){
  		 		 skaits=0;
  		 		 nesekmigas=0;
  		 		 summa=0;
			 		 for (int i=0; i<rindas; i=i+1){
			 		 if (Masivs[i][j]>0){
			
				if (Masivs[i][j]>=atzime);
				else nesekmigas=nesekmigas+1;
				summa = summa +Masivs[i][j];
				skaits=skaits+1;
								}
		 }
		 videja=(double)summa/skaits;
		 System.out.println(Prieksmeti[j]+" nesekmigo skaits: "+nesekmigas+ " un videja: "+videja);
		
	 }		   
   }
		 }  

Jau iepriekš paldies.

Link to comment
Share on other sites

Saprotu, ka kaut kur būtu jādefinē pirmā maksimālā vērtība un pēc tam ar to jāsalīdzina pārējās, tomēr nesaprotu, kur tieši.

 

Definēt tur pat, kur pārējos int mainīgos - pirms "for (int j=0; j<kolonnas; j=j+1){"

 

mainīgo piedefinē ar int vissekmigakaisPrieksmets  = -1;

un double vissekmigakaVidejaAtzime = -1;

 
Salīdzini tur, kur ar System.out.println vadi ārā summu, tur jau tu zini priekšmeta vidējo. Tātad vari salīdzināt ar vissekmigakaVidejaAtzime un ja izvadāmajam priekšmetam ir augstāka, tad jau var pierakstīt priekšmeta kārtas numuru (lai zina, kurš priekšmets ir bijis maksimālākais un beigās vari atrast un izvadīt no priekšmetu masīva) un vissekmigakaAtzime.
 

ieteikumi:

 ja ir kāda konstante, kas nemainīsies programmas gaitā, tad definē nevis līdz ar visiem (int atzime = 4), bet gan final int MIN_SEKMIGA_ATZIME = 4; definē klases sākumā kaut kur.

Gan izcelsies, gan vieglāk lasāms, gan nākamais cilvēks pēc tevis varēs fiksi atrast un palabot - uzreiz kritīs acīs.

 

 un nevis skaitlis = skaitlis + 1, bet gan skaitlis++

 arī atvieglo lasāmību

 

 Un kad sāksi refaktorēt kodu, tad viss vēl vienkāršāks, modificējamāks un uzskatāmāks paliks :)

Labots - usver
  • Patīk 1
Link to comment
Share on other sites

Kas tieši tev nesanāk?

Vidējās vērtības priekšmetam iegūt māki?

Tās kaut kur pieglabāt māki?

Pēc tam no tām atrast lielāko vērtību māki?

Saskaitīt nesekmīgās atzīmes māki?

 

 

 

maksimālo vērtību, tātad priekšmetu, kurā ir visaugstākā vidējā atzīme un visvairāk nesekmīgo atzīmju?

Es gan īsti nesaprotu, kādā veidā tā ir masīva maksimālā vērtība.

Link to comment
Share on other sites

" Maksimālā masīva elementu vidējā vērtība " - tēmas nosaukums.

" ievadītajam masīvam atrast maksimālo vērtību " - tēmas tekstā.

 

Atliek sagaidīt, kas ar autora jautājumu domāts.

Tomēr jāatzīst, ka docētāji nereti arī nespēj definēt prasības. Neeksaktās jomās ir vēl traģiskāk__

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...