Matice - sloupec s největším průměrem – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Matice - sloupec s největším průměrem – Pascal – Fórum – Programujte.comMatice - sloupec s největším průměrem – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Lukáš
~ Anonymní uživatel
275 příspěvků
4. 5. 2013   #1
-
0
-

Je zadaná matice n*n a mám zjistit, sloupec s největším průměrem.
V Pascalu jsem vypotil toto:

program UKOL;

var a:array[1..100,1..100] of integer;
    i,j,n:integer;
    prum:real;
begin
      write('Zadej rozměr matice: ');
      readln(n);
      for i:=1 to n do
         for j:=1 to n do begin
                             write('Zadej prvek [',i,',',j,']: ');
                             readln(a[i,j]);
                          end;
      for j:=1 to n do
        for i:1 to n do begin
                            prum:=(prum+a[j,i])/n;
                            writeln('Průměr ',j,'. sloupce je ',s:6:2);
                            s:=0;
                        end;
readln;
end.

Zadám matici 2x2 s prvky [1,1]: 2
                                      [1,2]: 5
                                      [2,1]: 3
                                      [2,2]: 8
a vypíše to tohle:
Průměr 1. sloupce je: 1.00
Průměr 1. sloupce je: 2.50
Průměr 2. sloupce je: 1.50
Průměr 2. sloupce je: 4.00

Poradíte mi prosím, co tam změnit?

Nahlásit jako SPAM
IP: 89.190.48.–
Reklama
Reklama
Sniper
~ Anonymní uživatel
184 příspěvků
5. 5. 2013   #2
-
0
-

To, co jsi sem postnul, má několik chyb, takže to nelze přeložit. To za prvé. A za druhé - ujasni si, jak se vůbec průměr počítá, protože to, co tam počítáš, určitě není průměr, a už vůbec ne sloupce. Ale abych jenom neprudil... na rychlo smatlaný v delphi (nejsou ošetřený chyby atp.):

program UKOL;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Math;

var
  Matrix:         Array of Array of Integer;  //hlavni matice
  MatrixSize:     LongWord;                   //zadana velikost matice
  ColumnAverage:  Double;                     //prumer sloupce
  LargestAverage: Double;                     //nejvetsi zaznamenany prumer
  ColumnSum:      Int64;                      //soucet prvku sloupce
  Column, Row:    Integer;                    //promenne cyklu
  Result:         LongWord;                   //vysledek (cislo sloupce)

begin
Write('Zadejte rozmer matice (n*n): '); ReadLn(MatrixSize);
SetLength(Matrix,MatrixSize,MatrixSize);
{- Zadavani hodnot ------------------------------------------------------------}
For Row := 0 to (MatrixSize - 1) do
  For Column := 0 to (MatrixSize - 1) do
    begin
      Write('Zadejte prvek [' + IntToStr(Column + 1) + ', ' +
        IntToStr(Row + 1) + ']: ');
      ReadLn(Matrix[Column,Row]);
    end;
{- Vypocet --------------------------------------------------------------------}
LargestAverage := MinDouble;
Result := 0;
For Column := 0 to (MatrixSize - 1) do
  begin
    ColumnSum := 0;
    For Row := 0 to (MatrixSize - 1) do
      Inc(ColumnSum,Matrix[Column,Row]);
    ColumnAverage := ColumnSum / MatrixSize;
    If ColumnAverage > LargestAverage then
      begin
        LargestAverage := ColumnAverage;
        Result := Column;
      end;
  end;
{- Vypis vysledku -------------------------------------------------------------}
WriteLn;
WriteLn('Nejvetsi prumer ma sloupec ' + IntToStr(Result + 1) + ' (' +
  FloatToStr(RoundTo(LargestAverage,-5)) + ')');
WriteLn;
Write('Stiskni enter pro ukonceni programu...'); ReadLn;
end.

Můžeš se inspirovat.

Nahlásit jako SPAM
IP: 90.179.201.–
Mircosoft+1
Věrný člen
6. 5. 2013   #3
-
0
-

#2 Sniper

Abychom Lukáše nemátli: po syntaktické stránce je ten jeho program v pořádku, v TP nebo FP půjde přeložit i spustit.
S tím ostatním máš samozřejmě pravdu.

Nahlásit jako SPAM
IP: 212.118.224.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
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, 24 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý