Wątek przeniesiony 2014-12-26 12:52 z przez bogdans. Powód: Wątek dotyczący podstaw

Wyświetlenie liczb wraz z danym napisem, które nie są podane w tablicy

Odpowiedz Nowy wątek
2014-12-26 09:44
0

Dzień dobry
Mam mały kłopot, otóź
mam taką oto tablicę

int lp1[] = {0,  6, 7,   10 };

chce, zeby program wyświetlił mi liczby od 0 do 10 tylko, że liczby, które są tablicy "lp1" dopisał napis "tab" , to już jest,
ale liczby, które nie są ujęte tablicy "lp1" wyświetlił te liczby i do liczb nie ujętych w tablicy "lp1" dopisał pusta"
np:
jest takl

run:
0 tab
6 tab
7 tab
10 tab

a ja chce, żeby było tak:

0 tab
1 pusta
2 pusta
3 pusta
4 pusta
5 pusta
6 tab
7 tab
8 pusta
9 pusta
10 tab

oto mój kod

  public static void main(String[] arg)
    {
        int lp1[] = {0,  6, 7,   10 };
int c;
for(int d=0;d<lp1.length;d++)
{
 
  System.out.println(lp1[d] + " tab");
}

próbowałem instrukcją if oraz operatorami logicznymi, ale nic mi nie wychodzi
moze wy mi coś poradzicie i pomozecie
z góry dziekuje bardzo za odpowiedz

edytowany 1x, ostatnio: furious programming, 2014-12-26 19:43

Pozostało 580 znaków

2014-12-26 10:18
hjv
0

Możesz użyć metody contains(), którą można wywoływać na kolekcjach Javowych. Więc najpierw musisz przekształcić swoją tablicę na obiekt kolekcji (np. lista, co możemy osiągnąć stosując metodę Arrays.toList(tab)). Możesz teraz wstawić do pętli powyższą konstrukcję by sprawdzać, czy dana wartość iteracji występuje w tablicy, i w zależności od tego dopisywać odpowiedni String.

Pozostało 580 znaków

2014-12-26 12:47
0

Skąd się biorą liczby w pierwszym i ostatnim wierszu

0 tab
...
10 tab

To zawsze będą liczby 0 i 10? A może to najmniejsza i największa liczba w tablicy?


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2014-12-26 13:02
0
public static void main(String[] arg)
  {
   int tab[]={0,6,7,10}; // muszą być posortowane
   int min=tab[0],max=tab[tab.length-1],p=0;
   for(int i=min;i<=max;++i)
     {
      while((p<tab.length)&&(tab[p]<i)) ++p;
      System.out.println(i+(tab[p]==i?" tab":" pusta"));
     }
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2014-12-26 17:39
Złoty Pomidor
0

pytanie

bogdans napisał(a):

Skąd się biorą liczby w pierwszym i ostatnim wierszu

0 tab
...
10 tab

wynik ma wyświetlać od najmniejszej do największej, tak jak to jest pokazane. z tym tylko, że nie do skończonej n-tej tablicy, tylko do ostatniej liczby, wartości w tablicy, poczynając od poczatku pierwszej liczby, wartości w tabeli

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26

Pozostało 580 znaków

2014-12-26 17:41
Złoty Pomidor
0

dziękuje za pomoc takie łatwe, a ja nawet o tym nie pomyslałem

jeszcze raz dziekuje za pomoc

Pozostało 580 znaków

2014-12-27 15:29
0

Dzień dobry
dziękuje wszystkim za pomoc, ale zadanie idzie do przodu, więc mam kolejny problem otóż,
chce osiągnąć ten sam efekt co w temacie, a mianowicie

po skompilowaniu programu
wynik pokazuje mi (patrz niżej:)
wynik

run:
1| 10 
5| 30 
9| 50 
15| 20 
21| 30 
BUILD SUCCESSFUL (total time: 0 seconds)

a ja chce, żeby wynik był taki jak w pierwszym poście, tylko zastosowaniem instrukcji for lub if lub while lub innych funkcji.

run:
1| 10 
2| --
3| --
4| --
5| 30 
6| --
7| --
8| --
9| 50 
10| --
11| --
12| --
13| --
14| --
15| 20
16| --
17| --
18| --
19| --
20| -- 
21| 30 
BUILD SUCCESSFUL (total time: 0 seconds)
    public static void main(String[] args) 
    {
   int[] tab0 = { 70,330,590,920,1290 }; 
 
        int min=tab0[0];
        int max=tab0[tab0.length-1];
        int ze0=0;
        int godz = 0;
 
        String wyn;
        String min0;
        int a, b, c=0;
 
        for (b = 0; b<tab0.length; b ++)
        {  
        if (tab0[b] % 60 < 10)
        min0 = ("0" + tab0[b] % 60);
        else
        min0 = (tab0[b] % 60 + " ");
 
        if (tab0[b] >= 1440)
 
           tab0[b]= 0;
 
        godz =tab0[b] / 60;
 
            if (godz==godz)
            { 
            wyn = godz + "| "+ min0;   
            }
            else 
            {
            wyn = godz + "| --";
            }
 
            System.out.println(wyn);
        } 
   }   
}

czemu chce zastosować instrukcję if , for, while, do , lub inne.
chce rozbudowac program na swój sposób

z góry dziękuje za jeszcze raz pomoc

edytowany 2x, ostatnio: jan00001, 2014-12-27 21:06

Pozostało 580 znaków

2014-12-27 17:50
0

W pytaniu podałeś posortowaną tablicę a teraz podałeś nieposortowaną.
Rozwiązanie jest oczywiste - posortować.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2014-12-27 21:10
0

1.
czyli mam posortować tablicę na przykład metoda bąbelkową lub inną metodą.
2.
a czasem tablica nie jest posortowana.
3.
Może funkcja jest, źle napisana i muszę ją poprawić.
zadanie ma na celu wyświetlenie godzin

Pozostało 580 znaków

2014-12-27 21:34
2

Najprostszy sposób sortowania:

Arrays.sort(tab);

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0