Zmiana inputu
This commit is contained in:
parent
9d1452fa16
commit
42bc4ae122
127
MainApp.java
127
MainApp.java
@ -1,7 +1,11 @@
|
|||||||
//package com.madrakrystian.algebra;
|
//package com.madrakrystian.algebra;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.StringReader;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
import java.util.Stack;
|
||||||
|
|
||||||
public class MainApp {
|
public class MainApp {
|
||||||
|
|
||||||
@ -24,54 +28,85 @@ public class MainApp {
|
|||||||
// Output: [[3,1,0,5,0,1,4,5,5], [5,2,1], DivisionError]
|
// Output: [[3,1,0,5,0,1,4,5,5], [5,2,1], DivisionError]
|
||||||
|
|
||||||
|
|
||||||
// Input w programie dla przykladu 1
|
|
||||||
// Podaj n:
|
|
||||||
// 2
|
|
||||||
// Pierwszy wielomian:
|
|
||||||
// Podaj liczbe wyrazow w wielomianie:
|
|
||||||
// 5
|
|
||||||
// Podaj kolejne wyrazy wielomianu po przycisku enter
|
|
||||||
// 1
|
|
||||||
// 1
|
|
||||||
// 1
|
|
||||||
// 0
|
|
||||||
// 1
|
|
||||||
// Drugi wielomian:
|
|
||||||
// Podaj liczbe wyrazow w wielomianie:
|
|
||||||
// 3
|
|
||||||
// Podaj kolejne wyrazy wielomianu po przycisku enter
|
|
||||||
// 0
|
|
||||||
// 1
|
|
||||||
// 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// czytanie inputu z System.in
|
// czytanie inputu z System.in
|
||||||
static Scanner reader = new Scanner(System.in);
|
static Scanner reader = new Scanner(System.in);
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
// wielomiany
|
// liczniki indeksow wielomianow
|
||||||
|
int counterFirst = 0, counterSecond = 0;
|
||||||
|
|
||||||
|
// wielomiany + pomocniczme stosy
|
||||||
int polyOne[];
|
int polyOne[];
|
||||||
|
Stack<Integer> p1 = new Stack<Integer>();
|
||||||
int polyTwo[];
|
int polyTwo[];
|
||||||
|
Stack<Integer> p2 = new Stack<Integer>();
|
||||||
|
|
||||||
// wspolczynnik n
|
// wspolczynnik n
|
||||||
int n=1;
|
int n=1;
|
||||||
|
|
||||||
//input
|
|
||||||
do{
|
|
||||||
System.out.println("Podaj n: ");
|
|
||||||
// wpisz liczbe
|
|
||||||
n = reader.nextInt();
|
|
||||||
|
|
||||||
}while(n > 1000 || n <= 0);
|
String str;
|
||||||
|
String input;
|
||||||
|
|
||||||
|
char temp;
|
||||||
|
|
||||||
System.out.println("Pierwszy wielomian: ");
|
//
|
||||||
polyOne = fillPolynomial();
|
// poprawiony bardzo nieelegancki nowy input
|
||||||
|
//
|
||||||
|
|
||||||
|
input = reader.nextLine();
|
||||||
|
|
||||||
|
BufferedReader read = new BufferedReader(
|
||||||
|
new StringReader(input));
|
||||||
|
|
||||||
|
// od poczatku pierwszego wielomianu '['
|
||||||
|
int i = 3;
|
||||||
|
try {
|
||||||
|
if ((str = read.readLine()) != null) {
|
||||||
|
|
||||||
|
if (str.length() > 0) {
|
||||||
|
n = Character.getNumericValue(str.charAt(0));
|
||||||
|
}
|
||||||
|
temp = str.charAt(i);
|
||||||
|
while(temp != ']') {
|
||||||
|
|
||||||
|
if(temp != ',') {
|
||||||
|
p1.push(Character.getNumericValue(temp));
|
||||||
|
counterFirst++;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
temp = str.charAt(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
// przejscie do drugiej tablicy (zakladamy ze wielomiany oddzielone sa spacja)
|
||||||
|
i += 3;
|
||||||
|
temp = str.charAt(i);
|
||||||
|
|
||||||
|
while(temp != ']') {
|
||||||
|
|
||||||
|
if(temp != ',') {
|
||||||
|
p2.push(Character.getNumericValue(temp));
|
||||||
|
counterSecond++;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
temp = str.charAt(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
// inicjalizacja tablic
|
||||||
|
polyOne = new int[counterFirst];
|
||||||
|
polyTwo = new int[counterSecond];
|
||||||
|
|
||||||
|
// wypelnianie tablic
|
||||||
|
for(int j=polyOne.length-1; j>=0; j--) {
|
||||||
|
|
||||||
|
polyOne[j] = p1.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int j=polyTwo.length-1; j>=0; j--) {
|
||||||
|
polyTwo[j] = p2.pop();
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println("Drugi wielomian: ");
|
|
||||||
polyTwo = fillPolynomial();
|
|
||||||
|
|
||||||
// wyswietl wielomiany
|
// wyswietl wielomiany
|
||||||
System.out.println("f:" + Arrays.toString(polyOne));
|
System.out.println("f:" + Arrays.toString(polyOne));
|
||||||
@ -95,6 +130,31 @@ public class MainApp {
|
|||||||
reader.close();
|
reader.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} catch(IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
//input(old)
|
||||||
|
/*
|
||||||
|
do{
|
||||||
|
System.out.println("Podaj n: ");
|
||||||
|
// wpisz liczbe
|
||||||
|
n = reader.nextInt();
|
||||||
|
|
||||||
|
}while(n > 1000 || n <= 0);
|
||||||
|
|
||||||
|
|
||||||
|
System.out.println("Pierwszy wielomian: ");
|
||||||
|
polyOne = fillPolynomial();
|
||||||
|
|
||||||
|
System.out.println("Drugi wielomian: ");
|
||||||
|
polyTwo = fillPolynomial();
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// uzupelnianie tablicy
|
// uzupelnianie tablicy
|
||||||
public static int[] fillPolynomial() {
|
public static int[] fillPolynomial() {
|
||||||
@ -119,6 +179,7 @@ public class MainApp {
|
|||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// dzielenie modulo tablicy
|
// dzielenie modulo tablicy
|
||||||
public static int[] modTheTab(int tab[], int mod) {
|
public static int[] modTheTab(int tab[], int mod) {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user