Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Dzemus

    >Adept napisał

    >Zadanie jest bardzo proste.. i nie wiem czemu szukacie
    >cały czas w nim dzury i czepiacie się - moim
    >zdaniem kompletnie bez sensu.

    "Parametrami sa: rozmiar tablicy dwuwymiarowej
    oraz rozmiar kwadratu. " <- to jest wejście funkcji

    "Program okresla polozenie kwadratu w tablicy dwuwymiarowej" <- to jest jej wyjście.

    Nigdzie nie jest powiedziane skąd ten kwadrat, ani nie jest powiedziane, że trzeba faktycznie go pokazać - trzeba tylko podać jego współrzędne, więc faktycznie można je podać "z dupy":P I nie trzeba robić "źródła macierzy":]

    Fakt, że nikt normalny nie oddał by takiego projektu na zaliczenie... Ale patrząc tylko i wyłącznie na specyfikację, tak należałoby to zrobić:]


    -----------

    Hyhy, kto by pomyślał, że taka pierdoła takie jazdy rozpęta:]
    Gratz 4 all:]
  • Adept

    >Dzemus napisał

    >Nigdzie nie jest powiedziane skąd ten kwadrat,


    Program okresla polozenie kwadratu w tablicy dwuwymiarowej, ktory charakteryzuje
    sie najwieksza suma elementow (kwadratu) sposrod wszystkich kwadratow, ktore mozna
    wpisac w tablice dwuwymiarowa

    A to niby co?? przepis na szarlotke?

  • Dzemus

    No, ale nie jest nigdzie powiedziane jakie są te elementy tablicy dwuwymiarowej, więc podtrzymuję swoją tezę, że wynik można wziąć i wyssać z palca:]
  • Adept

    to już dawno ustaliliśm że nie jest. No ale w takim razie podaj mi inne (rozsądne a nie "wyssane z palca") źródło elementów niż losowanie.
  • Dzemus

    Dodanie jednego parametru do funkcji i delikatne zasugerowanie prowadzącemu, że jego specyfikacja była trochę z%$#@& :]
  • Anonim

    ja to zrobiłem w taki sposób:

    import java.io.*;
    import java.util.Arrays;

    public class STab
    {
    public static void main(String[] args)
    {
    int[][] tab = {
    { -4, 1, 22, 1, 1, 1, 1, 1, 1, 1, 2, 2},
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2},
    { 1, 1, 1, 1, 1, 1, 1, 26, 1, 1, 2, 2},
    { -4, 1, 22, 1,-89, 1, 1, 1, 1, 1, 2, 2},
    { -4, 1, 22, 1, 1, 1, 1, 1, 1, 1, 2, 2},
    };
    int sum = findSum(tab, 3);
    }

    public static int sum(int[][] tab, int x, int y, int size)
    {
    int sum = 0;
    int i, j;

    for (i = x; i < x + size; i++)
    for (j = y; j < y + size; j++)
    sum += tab[j];
    return sum;
    }

    public static int findSum(int[][] tab, int size)
    {
    int max = sum(tab, 0, 0, size);
    int s_x = tab.length;
    int s_y = tab[0].length;
    int f_x = 0;
    int f_y = 0;
    int i, j, s;

    for (i = 0; i <= s_x - size; i++)
    {
    for (j = 0; j <= s_y - size; j++)
    {
    s = sum(tab, i, j, size);
    System.out.print("Suma [" + i + "][" + j + "]: " + s + "\n");
    if (s > max)
    {
    max = s;
    f_x = i;
    f_y = j;
    }
    }
    }
    System.out.print("Najwieksza suma to: " + max + " z wspolrzednymi x: " + f_x + ", y:" + f_y + "\n");
    return max;
    }
    }

    nie jest zbytnio zaawansowanym programistą, ale myśle że to powinno wystarczyć... co o tym myślicie?
  • Anonim

    >Dzemus napisał
    >Dodanie jednego parametru do funkcji i delikatne
    >zasugerowanie prowadzącemu, że jego specyfikacja
    >była trochę z%$#@& :]

    Wiec wykladowca powie ze ten co to zrobil ma lacza na koniec i sie moze %$#@& :]
  • Maciek Makowski

    > nie jest zbytnio zaawansowanym programistą, ale myśle
    > że to powinno wystarczyć... co o tym myślicie?

    Wygląda OK; kilka uwag:
    * przydałoby się sprawdzanie danych wejściowych w findSum(), żeby nie rzucało wyjątków jak się da rozmiar kwadratu większy od któregoś z wymiarów tablicy
    * importy są niepotrzebne
    * na ogół jako oś x oznacza się oś poziomą a jako y -- pionową. Jeśliby przyjąć naturalną orientację tablicy (czyli taką, jaką widać w kodzie) to u Ciebie jest odwrotnie.

    Możnaby też poprawić trochę drobiazgów stylistycznych, np. zmienne należy deklarować tak, żeby miały jak najmniejszy zasięg widoczności; przykładowo zmienne pętli deklaruje się: for (int i = 0... itd.
  • Anonim

    zaliczone... 4.0; dzięki za pomoc...pozdrawiam
  • Dzemus

    Gratz:]
  • SkiLo

    >Lans napisał
    >zaliczone... 4.0; dzięki za pomoc...pozdrawiam

    tylko 4?
    tyle osob sie glowilo, a ty tylko 4 wyciagneles; )
  • Dzemus

    Fakt - jakby te 4.0 podzielić na wszystkich to nawet jedynki byśmy nie dostali:/ Lipa:P
  • spec

    no raczej.
  • Anonim

    Szukam czlowieka na zaliczenie z javy 2 semestr informatyki Warszawa dobrze zaplace czekam na odpowiedz!!!