Jump to content

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


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 post
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 :)

Edited by usver
  • Patīk 1
Link to post
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 post
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 post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...