Праздник, каникулы – это
замечательно. Лыжи, дискотеки, просто дома побыть – прекрасно.
Но для тех, кто все же
захочет в эти дни "потратить" время на задачи – несколько штук, для
"незасыхания мозгов".
Команда из Пензы может решать
их в виде "обычных" классов, а команда из Салавата – с использованием
методов.
Все задачи – на массивы.
Успеха!
Задание №1
Заполни массив случайными
числами (размер массива и диапазон случайных чисел – гибко, через введение
значений с клавиатуры).
Затем следует определить, что
чаще встречается в массиве: максимальные значения или значения минимальные – и
вывести на экран соответствующее текстовое сообщение.
Задание №2
Заполни массив случайными
числами (размер массива и диапазон случайных чисел – гибко, через введение
значений с клавиатуры).
Затем следует определить,
какие из значений ближе к началу массива – максимальное или минимальное.
Затем аналогичную проверку
для максимума и минимума следует провести для определения, какое их этих
значений ближе к концу массива.
Задание №3
Заполни массив случайными
числами (размер массива и диапазон случайных чисел – гибко, через введение
значений с клавиатуры).
Затем следует создать два
дополнительных массива: первый должен содержать позиции максимумов в исходном
массиве, второй – позиции минимумов в исходном массиве.
Задание №4
Заполни массив случайными
числами (размер массива и диапазон случайных чисел – гибко, через введение
значений с клавиатуры).
Затем следует создать массив
из следующих значений: сумма всего массива, сумма массива без значения в
последней ячейке, сумма массива без значений в двух последних ячейках, сумма
массива без значений в трех последних ячейках – и до суммы массива в двух
первых ячейках.
Следует определить, какая
часть массива содержит наибольшую сумму.
Примечание: для того,
чтобы получить как можно более разные суммы, следует заполнить исходный массив
и положительными, и отрицательными числами.

import java.util.*;
ОтветитьУдалитьclass methods
{
static Scanner reader=new Scanner(System.in);
public static void main(String[]args)
{
int countmax=0,countmin=0;
System.out.println("введите кол-во эл-тов массива");
int []a=new int[reader.nextInt()];
System.out.println("введите нижнюю границу диапазона");
int min0=reader.nextInt();
System.out.println("введите верхнюю границу диапазона");
int max0=reader.nextInt();
for(int i=0;imin0))
a[i]=b;
else i--;
}int max=a[0];
int min=a[0];
for(int k=1;k<a.length;k++){
max=Math.max(a[k],max);
min=Math.min(a[k],min);}
for(int m=0;m<a.length;m++){
if(a[m]==max) countmax++;
if(a[m]==min)countmin++;
}
System.out.println(Arrays.toString(a));
System.out.println("min="+min);
System.out.println("max="+max);
System.out.println("Количество минимальных элементов="+countmin);
System.out.println("Количество максимальных элементов="+countmax);
if(countmin>countmax)
System.out.println("минимальных больше");
if(countmin<countmax)
System.out.println("минимальных меньше");
if(countmin==countmax)
System.out.print("поровну");
} }
Это первое задание
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьimport java.util.*;
ОтветитьУдалитьclass z2
{
static Scanner reader=new Scanner(System.in);
public static void main(String[]args)
{
int iMin=0,iMax=0,MinEnd=0,MaxEnd=0,max,min;
System.out.println("введите кол-во эл-тов массива");
int []a=new int[reader.nextInt()];
System.out.println("введите нижнюю границу диапазона");
int min0=reader.nextInt();
System.out.println("введите верхнюю границу диапазона");
int max0=reader.nextInt();
if(min0==max0)
{ for(int f=0;fmin0))
a[i]=b;
else i--;
}
max=a[0];
min=a[0];
for(int k=1;kmax) {max=a[k]; iMax=k;}
}
}
MinEnd=Math.abs(a.length-iMin-1);
MaxEnd=Math.abs(a.length-iMax-1);
System.out.println(Arrays.toString(a));
System.out.println("min="+min);
System.out.println("max="+max);
if(iMiniMax)
System.out.println("Максимальный ближе к началу");
if(MinEndMaxEnd)
System.out.println("Максимальный ближе к концу");
}}Проблемы с размещением.
import java.util.*;
ОтветитьУдалитьclass z3
{
static Scanner reader=new Scanner(System.in);
public static void main(String[]args)
{
int max,min,cMin=0,cMax=0,c,d;
System.out.println("введите кол-во эл-тов массива");
int []a=new int[reader.nextInt()];
System.out.println("введите нижнюю границу диапазона");
int min0=reader.nextInt();
System.out.println("введите верхнюю границу диапазона");
int max0=reader.nextInt();
for(int i=0;imin0))
a[i]=b;
else i--;
}
max=a[0];
min=a[0];
for(int k=1;k<a.length;k++){
max=Math.max(a[k],max);
min=Math.min(a[k],min);}
for(int m=0;m<a.length;m++){
if(a[m]==max) cMax++;
if(a[m]==min) cMin++;}
int [] Mmax=new int[cMax];
int [] Mmin=new int[cMin];
c=0;d=0;
for(int n=0;n<a.length;n++){
if((a[n]==max)&&(c<cMax)) {Mmax[c]=n;c++;}
if((a[n]==min)&&(d<cMin)) {Mmin[d]=n;d++;}
}
System.out.println(Arrays.toString(a));
System.out.println("min="+min);
System.out.println("max="+max);
System.out.println("Позиции минимальных эл-тов "+Arrays.toString(Mmin));
System.out.println("Позиции максимальных эл-тов "+Arrays.toString(Mmax));
}}
import java.util.*;
ОтветитьУдалитьclass z5
{
static Scanner reader=new Scanner(System.in);
public static void main(String[]args)
{
int max;
System.out.println("введите кол-во эл-тов массива");
int []a=new int[reader.nextInt()];
System.out.println("введите нижнюю границу диапазона");
int min0=reader.nextInt();
System.out.println("введите верхнюю границу диапазона");
int max0=reader.nextInt();
for(int i=0;imin0))
a[i]=b;
else i--;
}
int []sum = new int[a.length-1];
System.out.println(Arrays.toString(a));
for(int i=0;i1;m--)
{sum[u]=sum[u-1]-a[m];u++;}
max=sum[0];
for(int s=0;s<sum.length;s++)
max=Math.max(sum[s],max);
System.out.println(Arrays.toString(sum));
}}
Этот комментарий был удален автором.
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьЧетвертая
ОтветитьУдалитьimport java.util.*;
class btg1
{ static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{ int[] a=zapolni(reader.nextInt());
vivod (a);
int[] b=new int[a.length-1];
int k=0, max=b[0], i=a.length;
while (i>1)
{ int sum=0;
for (int j=0; j<i; j++)
sum=sum+a[j];
b[k]=sum;
i--;
k++; }
vivod (b);
for (int l=0; l<b.length; l++)
max=Math.max(max,b[l]);
System.out.println(max);}
static int[] zapolni(int n)
{ int x=reader.nextInt();
int[] a1=new int[n];
for(int i=0;i<n;i++)
a1[i]=-50+(int)(x*Math.random());
return a1;}
static void vivod(int[] m)
{for(int i=0;i<m.length;i++)
System.out.print(m[i]+" ");
System.out.println(); }}
Третья
ОтветитьУдалитьimport java.util.*;
class btg3
{ static Scanner reader=new Scanner(System.in);
public static void main(String[] args)
{int[] a=zapolni(reader.nextInt());
vivod (a);
int max=a[0], min=a[0];
for (int i=0; i<a.length; i++)
{ max=Math.max(max,a[i]);
min=Math.min(min, a[i]);}
int n=0, m=0;
for (int j=0; j<a.length; j++)
{ if (a[j]==max) n++;
if (a[j]==min) m++;}
int[] b=new int [n];
int[] c=new int [m];
int k=0, g=0;
for (int l=0; l<a.length; l++)
{ if (a[l]==max)
{b[k]=l; k++;}
if (a[l]==min)
{c[g]=l; g++;}}
vivod (b);
vivod (c);}
static int[] zapolni(int n)
{ int x=reader.nextInt();
int[] a1=new int[n];
for(int i=0;i<n;i++)
a1[i]=1+(int)(x*Math.random());
return a1; }
static void vivod(int[] m)
{ for(int i=0;i<m.length;i++)
System.out.print(m[i]+" ");
System.out.println(); }}
C третьей задачей глупо получилось прогонять три раза циклы, наверное, есть путь рациональнее, но я не придумала
ОтветитьУдалить