понедельник, 2 января 2012 г.

Новый год, новые задачи)))


Праздник, каникулы – это замечательно. Лыжи, дискотеки, просто дома побыть – прекрасно.
Но для тех, кто все же захочет в эти дни "потратить" время на задачи – несколько штук, для "незасыхания мозгов".
Команда из Пензы может решать их в виде "обычных" классов, а команда из Салавата – с использованием методов.
Все задачи – на массивы.
Успеха!


Задание №1
Заполни массив случайными числами (размер массива и диапазон случайных чисел – гибко, через введение значений с клавиатуры).
Затем следует определить, что чаще встречается в массиве: максимальные значения или значения минимальные – и вывести на экран соответствующее текстовое сообщение.

Задание №2
Заполни массив случайными числами (размер массива и диапазон случайных чисел – гибко, через введение значений с клавиатуры).
Затем следует определить, какие из значений ближе к началу массива – максимальное или минимальное.
Затем аналогичную проверку для максимума и минимума следует провести для определения, какое их этих значений ближе к концу массива.

Задание №3
Заполни массив случайными числами (размер массива и диапазон случайных чисел – гибко, через введение значений с клавиатуры).
Затем следует создать два дополнительных массива: первый должен содержать позиции максимумов в исходном массиве, второй – позиции минимумов в исходном массиве.

Задание №4
Заполни массив случайными числами (размер массива и диапазон случайных чисел – гибко, через введение значений с клавиатуры).
Затем следует создать массив из следующих значений: сумма всего массива, сумма массива без значения в последней ячейке, сумма массива без значений в двух последних ячейках, сумма массива без значений в трех последних ячейках – и до суммы массива в двух первых ячейках.
Следует определить, какая часть массива содержит наибольшую сумму.
Примечание: для того, чтобы получить как можно более разные суммы, следует заполнить исходный массив и положительными, и отрицательными числами.

11 комментариев:

  1. 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("поровну");
    } }

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. 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("Максимальный ближе к концу");



    }}Проблемы с размещением.

    ОтветитьУдалить
  4. 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));
    }}

    ОтветитьУдалить
  5. 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));

    }}

    ОтветитьУдалить
  6. Этот комментарий был удален автором.

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Четвертая

    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(); }}

    ОтветитьУдалить
  9. Третья

    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(); }}

    ОтветитьУдалить
  10. C третьей задачей глупо получилось прогонять три раза циклы, наверное, есть путь рациональнее, но я не придумала

    ОтветитьУдалить