Skip to content

Instantly share code, notes, and snippets.

@nickaroot
Created August 31, 2018 00:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickaroot/4dd1796c79b2a0081c91b6e42fbd00be to your computer and use it in GitHub Desktop.
Save nickaroot/4dd1796c79b2a0081c91b6e42fbd00be to your computer and use it in GitHub Desktop.
NCK JAVA FINAL
class First {
// Дан одномерный массив Yn.
// Найти минимальный среди положительных элементов
// с четными номерами.
// Удалить каждый третий элемент.
/*
* Тестовые входные данные:
*
* 17
* 35 -12 -24 352 -5 -5 61 -17 52 -16 -34 -43 -36 834 74 234 215
*
*/
public First() {
int yn = 0, offset = 0;
Scanner scan = new Scanner( System.in );
System.out.print( "Введите размер массива: " );
yn = scan.nextInt();
System.out.println( "Введите массив: " );
int[] y = new int[ yn ];
for ( int i = 0; i < yn; i++ )
y[ i ] = scan.nextInt();
// for (int i = 0; i < yn; i++) {
//
// System.out.print("y[" + i + "] = ");
//
// y[ i ] = scan.nextInt();
//
// }
System.out.println();
System.out.print( "{ " );
for ( int x : y )
System.out.print( ( x ) + " " );
System.out.print( "}" );
System.out.println();
System.out.println();
int min = y[ 0 ];
boolean wasRemoved = false;
for (int i = 0; i < y.length; i++) {
min = ( i % 2 == 0 && y[ i ] > 0 && y[ i ] < min ) ? y[ i ] : min;
y[ i - offset ] = y[ i ];
offset += ( ( i + 1 ) % 3 == 0 ) ? 1 : 0;
if ( wasRemoved ) {
System.out.println( "Удален элемент x["+ ( i - 1 ) + "] = " + y[ i - 1 ] );
System.out.println();
wasRemoved = false;
}
wasRemoved = ( ( i + 1 ) % 3 == 0 );
}
int[] z = new int[ y.length - offset ];
System.arraycopy( y, 0, z, 0, z.length);
System.out.println( ( min > 0 ) ? "Минимальный среди положительных элементов: " + ( min ) : "Минимальный среди положительных элементов не найден" );
System.out.print( "{ " );
for ( int x : z )
System.out.print( ( x ) + " " );
System.out.print( "}" );
}
}
class Second {
// Сформировать одномерный массив,
// в который войдут количество целочисленных элементов
// матрицы X (n x m)
// из нечетных строк.
/*
* Тестовые входные данные:
*
* 4
* 4
* 2.53 5 63 53.53
* 1.15 1 7 56.465745
* 2.43 2 24.263 6.74
* 2.54 3 75.7457 2
*
*/
public Second() {
Scanner scan = new Scanner( System.in );
int xn, xm = 0;
boolean find = false;
System.out.print( "Введите количество строк: " );
xn = scan.nextInt();
System.out.print( "Введите количество столбцов: " );
xm = scan.nextInt();
double[][] x = new double[ xn ][ xm ];
for ( int i = 0; i < xn; i++ ) {
System.out.println( "Введите " + ( xm ) + " элементов массива строки " + ( i ) + ": " );
for ( int j = 0; j < xm; j++ )
x[ i ][ j ] = scan.nextDouble();
// for (int j = 0; j < xm; j++) {
//
// System.out.print("x[" + i + "][" + j + "] = ");
//
// x[ i ][ j ] = scan.nextDouble();
//
// }
}
System.out.println();
for ( double[] n : x ) {
for ( double m : n )
System.out.print( ( String.format( "%8.2f" , m ) ) + "\t" );
System.out.println();
}
System.out.println();
int[] y = new int[ x.length / 2 ];
for (int j = 0; j < x.length; j += 2) {
int s = 0;
for ( double m : x[ j + 1 ] )
s += ( m == Math.ceil( m ) ) ? 1 : 0;
find = s != 0;
y[ j / 2 ] = s;
}
if ( find ) {
System.out.print( "{ " );
for ( int z : y )
System.out.print( ( z ) + " " );
System.out.print( "}" );
} else {
System.out.println( "Целочисленных элементов не найдено" );
}
}
}
class Third {
// Все элементы матрицы X (n x n),
// лежащие ниже главной диагонали,
// заменить средним арифметическим отрицательных элементов,
// стоящих в четных столбцах.
/*
* Тестовые входные данные:
*
* 4
* 1 -1 -42 32
* 23 -29 65 -5
* 12 -58 -5 -22
* 23 52 8 9
*
*/
public Third() {
int xn = 0;
Scanner scan = new Scanner( System.in );
System.out.print( "Введите размер матрицы: " );
xn = scan.nextInt();
double[][] x = new double[ xn ][ xn ];
for ( int i = 0; i < xn; i++ ) {
System.out.println( "Введите " + ( xn ) + " элементов массива строки " + ( i ) + ": " );
for( int j = 0; j < xn; j++ )
x[ i ][ j ] = scan.nextInt();
// for (int j = 0; j < xn; j++) {
//
// System.out.print("x[" + i + "][" + j + "] = ");
//
// x[ i ][ j ] = scan.nextInt();
//
// }
}
System.out.println();
for ( double[] n : x ) {
for ( double m : n )
System.out.print( ( String.format( "%8.2f" , m ) ) + "\t" );
System.out.println();
}
System.out.println();
int c = 0;
double s = 0;
for (int i = 0; i < xn; i++) {
for (int j = 0; j < xn; j += 2) {
s += ( x[ i ][ j ] < 0 ) ? x[ i ][ j ] : 0;
c += ( x[ i ][ j ] < 0 ) ? 1 : 0;
}
}
double a = ( c != 0 ) ? s / c : 0;
for ( int n = 0; n < x.length; n++ )
for ( int m = 0; m < n; m++ )
x[ n ][ m ] = a;
for ( double[] n : x ) {
for ( double m : n )
System.out.print( ( String.format( "%8.2f" , m ) ) + "\t" );
System.out.println();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment