Tablice

0

Witam, od kilku dni zajmuje sie Java. Mam problem z tablicami. Mianowicie chce utworzyc tablice o wielkosci np. 10x10 i wypelnic ja liczbami z zakresu -20, 10.

Chce wykorzystac klase Math.random oraz samo Random //2 oddzielne programiki. I mianowicie ktora bedzie szybsza? :)

0

Ok, zrobilem kod. Dzialal a teraz cos sie syplo ciagle terminated. Drugie pytanko jak za pomoca Math.random() zrobic zakres od -20,10?

package stringi;
//import java.util.Scanner;
import java.lang.Math;
//import java.lang.Math;
public class TablicaMath {
	public static void main(String[] args) {
	
		
		
		  // double[][] tablica = new double[4][4];
		  // for     (double i = 0; i < tablica.length; i++){
		int []tab;
		tab = new int[25];
		//int j;

		
		for ( int i=0; i< 25; i++) 
		{
				tab[i]=(int)Math.random();
				System.out.print("  ");
			     
			       System.out.println();
		}
			
		//	tab[j]= (int)Math.random();
			//   for(int i = 0; i < vec.length; i++){
		  
			//System.out.print(int[] + j +" ");
		       System.out.print("  ");
		     
		       System.out.println();
//	for(int i = 0; i < vec.length; i++){
//	   vec[i] = new int[(int)(Math.random()*10)];
	
}
}
0

Formatuj kod, bo tego nie da się czytać. Nie wrzucaj też kodu zakomentowanego.

public class Program {
	public static void main(String[] args) {
		int[] tab = new int[25];
		for (int i = 0; i < tab.length; i++) {
			tab[i] = (int) randomRange(-20, 10);
			System.out.println(tab[i]);
		}

		double[] tab1 = new double[25];
		for (int i = 0; i < tab1.length; i++) {
			tab1[i] = randomRange(-20, 10);
			System.out.println(tab1[i]);
		}
	}

	private static double randomRange(double min, double max) {
		return min + Math.random() * (max - min);
	}
}
0

Sorki. Tak ale ja chce uzyc funkcji Math.random(); samym random to wiem jak zrobic. Dzieki

0

Sorki nie skopiowalem calego kodu :)

0

Mam 2 pytanka, mianowicie:

  1. Tablica wypelniona liczbami niemalejacymi (powtarza ta sama liczbe badz jest wieksza od poprzedniej)
  2. Jak sprawdzic czy wystepuje co najmniej n/2 razy. Wartosci ktore nie wystepuje n/2 zapisac do klasy Vector i je wypisuje.

Z gory dzieki za pomoc i oczywiscie zajebistego wskoku do 2010 roku.

0
jomagi napisał(a)

Mam 2 pytanka, mianowicie:

  1. Tablica wypelniona liczbami niemalejacymi (powtarza ta sama liczbe badz jest wieksza od poprzedniej)
  2. Jak sprawdzic czy wystepuje co najmniej n/2 razy. Wartosci ktore nie wystepuje n/2 zapisac do klasy Vector i je wypisuje.

Z gory dzieki za pomoc i oczywiscie zajebistego wskoku do 2010 roku.

int[] a = new  int[6];
        int av = 0;
        for(int i = 0; i < a.length; ++i)
        {
           
            int b = (int)(Math.random() * 100 + av);
            av = a[i] = b;
            
        }

        for(int i = 0 ; i < a.length ; ++i)
         System.out.println(a[i]);
 int[] a = new  int[6];
       a[0] = 1;
        a[1] = 1;
        a[2] = 3;
        a[3] = 1;
        a[4] = 2;
        a[5] = 0;

        Vector v = new Vector(a.length);

        for(int i = 0; i < a.length ; ++i)
        {
            int c = 0;
            for(int j = 0; j < a.length ; ++j)
            {
                if(i == j) continue;
                if(a[i] == a[j]) c =1;
            }

            if(c == 0)
                v.add(a[i]);
        }

         System.out.println(v);
0

Sprawa wyglada nastepujaca. Mam kaca jak ... i probuje dalej to napisac co do 1pktu to musze podac zakres liczb tj, np od 100 do 300. Kod wyglada mniejwiecej tak, ale ciagle ten zakres jest zwiekszany.

int maximum = sc....
int minimum = sc...
int n = sc... 

int[] a = new  int[n];
        int av = 0;
        for(int i = 0; i < a.length; ++i)
        {
           
            int b = (int)(Math.random() * 100 + av);
            av = a[i] = b;
            
        }

kiedy zamienie 100 z maxem to i tak jest zle. Przy okazji SZCESIWEGO!

0

nie bardzo rozumiem teraz losuje liczbę z przedziału od 0 do 99 i dodaje poprzednia co za tym idzie n > n-1 o losowa wartość.

1.możesz przedzial losowanai zmniejszyc np od 0 do 50 wtedy w najgorszym wypadku wyjdzie 300 dla 6 powtorzen jak jest teraz.
2.możesz pierwsza liczbę wylosować z warunkiem(n >= 100 i n < 300 - ilość powtórzeń zęby zachować przedzial) a następne zwiększać o jeden tez warunek n > n-1 będzie spełniony...

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