Opis forum
import javax.swing.*; public class abc { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int rozmiar = 15; int tab[] = new int[rozmiar]; for ( int i = 0 ; i < rozmiar ; i++ ) { tab[i] = (int) ( Math.random()*10 ); } int i = 0; int j = 0; for ( i = 0 ; i < rozmiar ; i++ ) { System.out.print(" " + tab[i]); } System.out.println(""); int p = 0; for ( i = 0 ; i < rozmiar ; i++ ) { for ( j = 0 ; j < rozmiar-1 ; j++ ) { if ( tab[j] > tab[j+1]) { p = tab[j]; tab[j] = tab[j+1]; tab[j+1] = p; } } } for ( i = 0 ; i < rozmiar ; i++ ) { System.out.print(" " + tab[i]); } } }
Offline
Program sortuje i wyświetla tablice za pomocą 4 różnych algorytmów (bąbelkowy z/bez wartownika, ze wstawianiem, QuickSort):
// cut here
import java.util.*; // importuje bibliotekę niezbędną do wykonania funkcji takich, jak "Date" (określenie czasu) czy Arrays.sort (QuickSort)
public class glowna {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=0; // inicjalizacja zmiennych wykorzystanych później w pętlach
int j=0;
int rozTab=3000; // definicja rozmiaru tablicy
int tab[] = new int [rozTab]; // inicjalizacje tablic sortowanych w późniejszej części programu
int tab1[] = new int [rozTab];
int tab2[] = new int [rozTab];
int tab3[] = new int [rozTab];
for ( i = 0 ; i < rozTab ; i++ ) {
tab3[i] = tab2[i] = tab1[i] = tab[i] = (int) (Math.random()*30); // zapełnianie wszystkich tablic takimi samymi, losowymi wartościami
}
/* for ( i = 0 ; i < tab.length ; i++ ) { // wyświetlanie tablicy w postacii "trójkąta" (zmniejsz rozmiar tablicy, żeby zobaczyć faktyczny efekt, 10 powinno wystarczyć )
for ( j = 0 ; j < i+1 ; j++ ) {
System.out.print(tab[j] + " ");
}
System.out.print("\n");
}
for ( i = tab.length ; i > 0 ; i-- ) { // to samo, co powyżej - ale odwrócone (zmniejsz rozmiar tablicy, żeby zobaczyć faktyczny efekt, 10 powinno wystarczyć )
for ( j = 0 ; j < i ; j++ ) {
System.out.print(tab[j] + " ");
}
System.out.print("\n");
}
*/
// sortowanie ze wstawianiem
int min = tab[0]; // zdefiniowanie minimum jako pierwszego (zerowego) elementu tablicy
int indmin = 0; // zdefiniowane miejsca w tabli, na którym znajduje się minimum
int buf = 0; // bufor niezbędny do zamiany wartości w tablicy
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab[i] + " ");
}
System.out.println("");
Date d1 = new Date(); // pobranie aktualnego czasu - potrzebne do obliczenia czasu działania algorytmu
for ( i = 0 ; i < rozTab-1 ; i++ ) {
//ustal parametry szukania minimum w i-tym przebiegu
min = tab[i];
indmin = i;
//znajdz min - szuka minimum w całej tabeli
for ( j = i ; j < rozTab ; j++ ) {
if ( tab[j] < min ) {
min = tab[j];
indmin = j;
}
}
//zamien indmin z i - w przypadku, gdy znajdzie minimum zamienia miejscami odpowiednie miejsca w tabeli
buf = tab[indmin];
tab[indmin] = tab[i];
tab[i] = buf;
}
Date d2 = new Date();
System.out.println("Algorytm ze wstawianiem: " + (d2.getTime()-d1.getTime()) + "ms"); // wyświetlenie czasu trwania algorytmy wraz z nazwą
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab[i] + " ");
}
System.out.println("\n");
// sortowanie babelkowe z wartownikiem
min = tab1[0];
indmin = 0;
buf = 0;
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab1[i] + " ");
}
System.out.println("");
Date d3 = new Date();
for ( i = 0 ; i < rozTab ; i++ ) {
boolean test = false;
for ( j = 0 ; j < rozTab-1-i ; j++ ) {
if ( tab1[j] > tab1[j+1] ) { // zamienia dwa następujące po sobie miejsca w tabeli
buf = tab1[j];
tab1[j] = tab1[j+1];
tab1[j+1] = buf;
test = true;
}
}
if ( test == false ) {
break;
}
}
Date d4 = new Date();
System.out.println("Algorytm z wartownikiem zajął: " + (d4.getTime()-d3.getTime()) + "ms");
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab1[i] + " ");
}
System.out.println("\n");
// sortowanie babelkowe
min = tab3[0];
indmin = 0;
buf = 0;
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab3[i] + " ");
}
System.out.println("");
Date d5 = new Date();
for ( i = 0 ; i < rozTab ; i++ ) {
for ( j = 0 ; j < rozTab-1-i ; j++ ) {
if ( tab3[j] > tab3[j+1] ) { // zamienia dwa następujące po sobie miejsca w tabeli
buf = tab3[j];
tab3[j] = tab3[j+1];
tab3[j+1] = buf;
}
}
}
Date d6 = new Date();
System.out.println("Algorytm bez wartownika zajął: " + (d6.getTime()-d5.getTime()) + "ms");
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab3[i] + " ");
}
System.out.println("\n");
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab2[i] + " ");
}
Date d7 = new Date();
Arrays.sort(tab2); // metoda QuickSort (więcej na wykładach AiSD )
Date d8 = new Date();
System.out.println("\n");
System.out.println("Algorytm Quicksort: " + (d8.getTime()-d7.getTime()) + "ms");
for ( i = 0 ; i < rozTab ; i++ ) {
System.out.print(tab2[i] + " ");
}
}
}
// cut here
Ostatnio edytowany przez ejdem (2008-05-17 20:30:34)
Offline
import javax.swing.*;
import javax.swing.JOptionPane;
import java.util.*;
public class prog1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int suma=0;
//int rozmiar= Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar: "));
int i=0;
int arg;
int rozmiar=args.length;
int tab[] = new int[rozmiar];
for (i=0; i<rozmiar; i=i+1)
tab[i]= Integer.parseInt(args[i]);
int sort= Integer.parseInt(JOptionPane.showInputDialog("jak sortować (1 dla rosnaco, 2 dla malejąco): "));
//for (i=0; i<rozmiar; i=i+1) //przebiega po tablicy
//suma=suma+tab[i];
// System.out.print(" "+suma);//drukowanie
if (sort ==1) {
int p = 0;
int j = 0;
for ( i = 0 ; i < rozmiar ; i++ ) { //przebieg po tablicy
for ( j = 0 ; j < rozmiar-1-i ; j++ ) { //przebiega po tablicy do wielkości mniejszej o 1 i mniejszej o wartość kolejnego kroku
if ( tab[j] > tab[j+1]) { //jeżeli parametr tablicy jest większy od następnego parametru
p = tab[j]; //przypisujemy jego wartość do zmiennej p
tab[j] = tab[j+1]; //przypisujemy wartość następnego parametru (tego mniejszego) do na miejscie parametru większego
tab[j+1] = p; //przypisujemy wartość mniejszą na miejsce w tablicy o jeden większe
}
}
}
for (i=0; i<rozmiar; i++){
System.out.print(" "+tab[i]); //wyświetlenie tablicy
}
}
else {
int p = 0;
int j = 0;
for ( i = 0 ; i < rozmiar ; i++ ) { //przebieg po tablicy
for ( j = 0 ; j < rozmiar-1-i ; j++ ) { //przebiega po tablicy do wielkości mniejszej o 1 i mniejszej o wartość kolejnego kroku
if ( tab[j] < tab[j+1]) { //jeżeli parametr tablicy jest większy od następnego parametru
p = tab[j]; //przypisujemy jego wartość do zmiennej p
tab[j] = tab[j+1]; //przypisujemy wartość następnego parametru (tego mniejszego) do na miejscie parametru większego
tab[j+1] = p; //przypisujemy wartość mniejszą na miejsce w tablicy o jeden większe
}
}
}
for (i=0; i<rozmiar; i++){
System.out.print(" "+tab[i]); //wyświetlenie tablicy
}
}
}}
Offline
public class tom { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int rozm = args.length; int tab[] = new int [rozm]; int i = 0; int suma=0; System.out.println("Ilość komórek tablicy - "+args.length); for(i=0; i<rozm; i=i+1) tab[i] = Integer.parseInt(args[i]); for(i=0; i<rozm; i=i+1) System.out.print(tab[i]+" "); for(i=0; i<rozm; i=i+1) suma=suma+tab[i]; System.out.println(""); System.out.println("Suma: "+suma); } }
Offline
public class tomek { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int j=0; int i=0; int rozmiar = 10; int tab[] = new int [rozmiar]; for (i=0; i<rozmiar; i=i+1) tab[i] = (int) (Math.random()*50); for (i=0; i<rozmiar; i=i+1) System.out.print(" "+tab[i]); System.out.println(" "); for(i=0; i<=10; i=i+1){ System.out.println(""); for(j=i; j<10; j=j+1) System.out.print(" "+tab[j]); } } }
Offline
int i;
int p;
int s=0;
int roz=4;
int tab[] = new int [roz];
for (i=0; i<roz; i=i+1)
tab[i]= Integer.parseInt(args[i]);
for (i=0; i<roz; i=i+1)
System.out.print(""+tab[i]);
for (i=0; i<roz; i=i+1){
p = tab[i];
s = s + p;
}
System.out.println("");
System.out.print("Suma" + s);
p = s / roz;
System.out.println("");
System.out.print("Srednia" + p);
}
}
Offline
min i max w 1 pętli + średnia z tabeli
public class zadanie { public static void main(String[] args) { int i=0; int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar")); int tab[] = new int [rozmiar]; for ( i = 0 ; i < rozmiar ; i++ ) { tab[i] = (int) (Math.random()*30); } for ( i = 0 ; i < rozmiar ; i++ ) { System.out.print(tab[i] + " "); } int min; int max; min= tab[0]; max= tab[0]; for (i=0; i<rozmiar; i=i+1) { if (tab[i] < min) min = tab[i]; if (tab[i] > max) max = tab[i]; } System.out.println(" "); System.out.println("min= "+ min); System.out.println("max= "+ max); double srednia; double suma; suma=min +max; srednia = suma /2; for (i=0; i<rozmiar; i=i+1) System.out.print(""+ tab[i]); System.out.println (); System.out.println("Średnia= "+ srednia); } }
Offline
//zadanie z grupy A//
import javax.swing.*;
public class qwerty {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=0;
double suma = 0;
int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar"));
int tab[] = new int [rozmiar];
for ( i = 1 ; i < rozmiar ; i++ ) {
tab[i] = (int) (Math.random()*50);
}
for ( i = 0 ; i < rozmiar ; i++ ) {
System.out.print(tab[i] + " ");
}
int parzyste = 0;
int licz = 0;
for ( i = 0; i < rozmiar; i = i +1 ) {
if ( tab[i]%2 == 0 ) {
parzyste = parzyste + 1;
}
}
int tab2[] = new int [parzyste];
for ( i = 0 ; i < rozmiar ; i = i +1 ) {
if ( tab[i]%2 == 0 ) {
tab2[licz] = tab[i];
suma = suma + tab[i];
licz++;
}
}
System.out.println("elementów parzystych jest: "+ parzyste);
System.out.println("suma elementów parzystych wynosi: "+ suma);
for ( licz = 0 ; licz < parzyste ; licz = licz + 1 ) {
System.out.println(" ");
System.out.print(tab2[licz]);
}
}
}
//a to drugi program
import javax.swing.*;
public class qwerty {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0;
int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar"));
int tab[] = new int [rozmiar];
for ( i = 1 ; i < rozmiar ; i++ ) {
tab[i] = (int) (Math.random()*50);
}
for ( i = 0 ; i < rozmiar ; i++ ) {
System.out.print(tab[i] + " ");
}
int parzyste = 0;
for ( i = 0; i < rozmiar; i ++ ) {
if ( tab[i]%2 == 0 ) {
parzyste = parzyste + 1;
}
}
System.out.println ();
System.out.println("elementów parzystych jest: "+ parzyste);
int nieparzyste = 0;
for ( i = 0; i < rozmiar; i ++ ) {
if ( tab[i]%2 != 0 ) {
nieparzyste = nieparzyste + 1;
}
}
System.out.println("elementów nieparzystych jest: "+ nieparzyste);
int tab2[] = new int [rozmiar];
for ( i = 0 ; i < rozmiar ; i ++ ) {
if ( tab[i]%2 == 0 ) {
tab2[i] = tab[i]+10;
}
if ( tab[i]%2 != 0 ) {
tab2[i] = tab[i]-1;
}
}
for ( i = 0 ; i < rozmiar ; i ++ ) {
System.out.print(" " + tab2[i]);
}
}}
Ostatnio edytowany przez yarpen (2008-07-05 07:09:36)
Offline
Zadanie z dzisiejszej poprawki z PP.
1. Losuje zakres tablicy z przedziału 10-20.
2. Rozmiar tablicy wprowadzamy przez okno dialogowe.
3. Sumuje wyrazy w tablicy.
Algorytm:
import javax.swing.*; public class programowanie { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar: ")); int tablica[] = new int [rozmiar]; int zakres = Integer.parseInt(args[1]); int sum = 0; int i = 0; for ( i = 0; i < rozmiar; i = i + 1) { tablica[i] = (int)((Math.random()*zakres)); System.out.print(" " +tablica[i]); } System.out.println(""); for ( i = 0 ; i < rozmiar; i = i +1 ) sum = sum + tablica[i]; System.out.println("Suma: "+sum); } }
Offline
int i=0;
int a = 0;
int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar"));
int tab[] = new int [rozmiar];
for ( i = 0 ; i < rozmiar ; i++ ) {
a = (int) (Math.random()*50);
if (a % 2 == 0)
tab[i] = a ;
else i--;
}
for ( i = 0 ; i < rozmiar ; i++ ) {
System.out.print(tab[i] + " ");}
double suma = 0;
double srednia = 0;
int ilosc = 0;
for (i=0; i<rozmiar; i=i+1) {
suma = suma + tab[i];
}
for (i=0; i<rozmiar; i=i+1) {
ilosc = ilosc + 1;
}
System.out.println("suma wynosi: " + suma);
srednia = suma / ilosc;
System.out.println("średnia wynosi: " + srednia);
}
}
int i=0;
int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar"));
int tab[] = new int [rozmiar];
for ( i = 0 ; i < rozmiar ; i++ )
{int liczba = Integer.parseInt(JOptionPane.showInputDialog("Podaj liczbę"));
tab[i] = liczba;}
for ( i = 0 ; i < rozmiar ; i++ ) {
System.out.print(tab[i] + " ");
}
int min;
int max;
min= tab[0];
max= tab[0];
for (i=0; i<rozmiar; i=i+1) {
if (tab[i] < min)
min = tab[i];
if (tab[i] > max)
max = tab[i];
}
System.out.println(" ");
System.out.println("min= "+ min);
System.out.println("max= "+ max);
}
}
import javax.swing.JOptionPane;
public class luk {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=0;
int a=0;
int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar"));
int tab[] = new int [rozmiar];
for ( i = 0 ; i < rozmiar ; i++ ) {
a=(int) (Math.random()*20);
if (a>=10)
tab[i] = a ;
else i--;
}
for ( i = 0 ; i < rozmiar ; i++ ) {
System.out.print(tab[i] + " ");
}
int suma = 0;
for (i=0; i<rozmiar; i=i+1) {
suma = suma + tab[i];
}
System.out.println(" ");
System.out.println("suma wynosi = " + suma);
}
}
public class luk {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = Integer.parseInt(args[2]);
int d = Integer.parseInt(args[3]);
System.out.print(" " + a);
System.out.print(" " + b);
System.out.print(" " + c );
System.out.print(" " + d );
System.out.println(" ");
System.out.print("el. parzyste: ");
int suma = 0;
if ( a %2 == 0 ) {
System.out.print(" " + a);
suma = suma + a;
}
if ( b %2 == 0 ) {
System.out.print(" " + b);
suma = suma + b;
}
if ( c %2 == 0 ) {
System.out.print(" " + c);
suma = suma + c;
}
if ( d %2 == 0 ) {
System.out.print(" " + d);
suma = suma + d;
}
System.out.println(" ");
System.out.print("suma wynosi: " + suma);
int max = 0;
if( a > b ){
max = a;
} else
max = b;
if( a > c ){
max = a;
} else
if( b > c ){
max = b;
} else
max = c;
if( a > d ){
max = a;
} else
if( b > d ){
max = b;
} else
if( c > d ){
max = c;
} else
max = d;
System.out.println("");
System.out.print("max = " + max );
}
}
int i=0;
int rozmiar = Integer.parseInt(JOptionPane.showInputDialog("Podaj rozmiar"));
int tab[] = new int [rozmiar];
for ( i = 0 ; i < rozmiar ; i++ )
{int liczba = Integer.parseInt(JOptionPane.showInputDialog("Podaj liczbę"));
tab[i] = liczba;}
for ( i = 0 ; i < rozmiar ; i++ ) {
System.out.print(tab[i] + " ");
}
int min;
int max;
min= tab[0];
max= tab[0];
for (i=0; i<rozmiar; i=i+1) {
if (tab[i] < min)
min = tab[i];
if (tab[i] > max)
max = tab[i];
}
System.out.println(" ");
System.out.println("min= "+ min);
System.out.println("max= "+ max);
}
}
Ostatnio edytowany przez yarpen (2008-09-13 08:26:01)
Offline