Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » JAVA Решение задач

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

q111111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 

Всего записей: 1657 | Зарегистр. 05-03-2008 | Отправлено: 16:01 13-05-2010 | Исправлено: q111111, 21:20 14-10-2013
blina



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ruslrusl
спасибо...может попробую че-нить своять

Всего записей: 4 | Зарегистр. 11-05-2010 | Отправлено: 10:57 14-05-2010
seforsource



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача


Помогите заполнить файл-шаблон, а потом считать из него заполненные данные. Формат любой, желательно кроссплатформенный (pdf, rtf)  
С уважением.

Всего записей: 46 | Зарегистр. 05-05-2009 | Отправлено: 16:25 18-05-2010
skorpion15

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
имеется код программы на ПАСКАЛЕ, помогите пожалуйста перевести его на java:
    uses crt;
var a:array[1..50] of integer;
    n,i,j,min,jmin,k,m,l:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Ishodnyj massiv:');
for i:=1 to n do
  begin
    a[i]:=random(50);
    write(a[i]:4);
  end;
writeln;
k:=1;m:=n;{номера позиций в интервале которых ищем мин}
while k<=n div 2 do{пока не дошли до середины}
  begin
    min:=a[k];jmin:=k;{мин-первый в интервале}
    for j:=k to m do{от начала до конца интервала}
    if a[j]<min then
      begin
        min:=a[j];{находим мин}
        jmin:=j;{его номер}
      end;
    for l:=jmin downto k+1 do{к минимальному}
    a[l]:=a[l-1];{сдвигаем массив на 1 позицию вправо}
    a[k]:=min;{на первое место в интервале пишем мин}
    k:=k+1;{увеличиваем начало интервала}
    min:=a[k];jmin:=k;{снова ищем мин}
    for j:=k to m do
    if a[j]<min then
      begin
        min:=a[j];
        jmin:=j;
      end;
    for l:=jmin to m-1 do{к минимальному}
    a[l]:=a[l+1];{сдвигаем массив на 1 позицию влево}
    a[m]:=min;{в конец имтервала пишем мин}
    m:=m-1;{уменьшаем конец интервала и все повторяем}
 end;
writeln('Rezultat:');
for i:=1 to n do
write(a[i]:4);
readln
end.
 
нужно В массиве A(n) наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее место, следующий по величине – на второе место, следующий – на предпоследнее и так далее – до середины массива. Спасибо!

Всего записей: 9 | Зарегистр. 19-05-2010 | Отправлено: 20:39 25-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skorpion15
 
Может где-нить есть косяки, так как Паскаль я не оч знаю, но поверхностно код выглядит вот так:

Код:
 
import java.util.Scanner;  
import java.util.Random;
public class massiv {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        int a[];
        a=new int [50];
        int n,i,j,min,jmin,k,m,l;
        Random random = new Random();
        Scanner inp=new Scanner (System.in);
        System.out.println("n=");    
        n=inp.nextInt();  
        System.out.println("Исходный массив");
        for (i=1; i<n; i++)
        {    
            a[i]=random.nextInt(50);
            System.out.println(a[i]+' ');
        }  
        k=1;
        m=n;
        while (k<=n/2)
        {
            min=a[k];
            jmin=k;
            for (j=k; j<m; j++)
                if (a[j]<min)
                {
                    min=a[j];
                    jmin=j;
                }
            for (l=jmin; l>k+1; l--)
                a[l]=a[l-1];
            a[k]=min;
            k=k+1;
            min=a[k];
            jmin=k;
            for (j=k; j<m; j++)
                if (a[j]<min)
                {
                    min=a[j];
                    jmin=j;
                }
            for (l=jmin; l<m-1; l++)
                a[l]=a[l+1];
            
            a[m]=min;
            m=m-1;     
        }
 
        System.out.println("Результат");
        for (i=1; i<n; i++)
        {    
            System.out.println(a[i]+" ");
        }  
        
    }
 
}
 

 
Азы тут уже есть, я думаю переделать труда не составит

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 19:46 28-05-2010 | Исправлено: ruslrusl, 19:46 28-05-2010
Tanusha92

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
150.Определить наименьшее число, которое при делении на 2,3,4,5,6,7,8,9 дает одинаковые остатки - 1.
151.Вычислить k - кол-во трёхзначных чисел, сумма цифр которых равна введённому числу a. (1<=a<=27)
148.Ввести координаты (Xi,Yi) для 4-х точек на плоскости. Определить, образуют ли они прямоугольник. (Если диагонали  
 
равны ±0.01 )
147.Напечатать все четырёхзначные числа, у которых все цифры нечётные и подсчитать их количество.
134.Ввести N и массив из N чисел. Вывести исходный массив в строку, затем вставить нулевой элемент ДО его  
 
максимального элемента и вывести полученный массив. (Используйте вектор, элемент 0 в i-ую позицию вектора  
 
добавляется оператором v.add(i,0); )

Всего записей: 3 | Зарегистр. 05-05-2010 | Отправлено: 18:16 31-05-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tanusha92
 
свои-то наброски хотя бы есть??!

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 21:50 31-05-2010
skorpion15

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ruslrusl
 спасибо!!!
 

Всего записей: 9 | Зарегистр. 19-05-2010 | Отправлено: 23:32 31-05-2010
skorpion15

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я вот попытася реализовать эту задачу по-другому:
код:
public class l2 {
  int n=15;
  int a[]= new int [n];
  public void print(){
    for (int i=0; i<n; i++)  
      System.out.print(a[i]+" ");  
    System.out.println();
  }
   public static void main(String args[]){
     lab2 p=new lab2();    
   }
    
   public l2(){
      int r;    
      for (int i=0; i<n; i++){
         a[i]=(int)Math.round(100*Math.random())-50;
      }
      print();
      
      int i=1;
      
      
      
      for (int j=n-i; j>i-1; j--)
        if (a[j]<a[j-1]) {
          r=a[j]; a[j]=a[j-1]; a[j-1]=r;    
        }
      print();
      
    
      for (int j=i+1; j<n-i+1; j++)  
        if (a[j-1]<a[j]){
          r=a[j]; a[j]=a[j-1]; a[j-1]=r;
        
        }
    
  print();
            
        
    }
}  
не до конца конечно, тут у мея 1й цикл наименьший элемент ставит на первое место , а второй цикл наименьший из оставшихся ставит на последнее место, на до вот как-то эти два цикла связать!  чтобы программа работала
 
    
            

Всего записей: 9 | Зарегистр. 19-05-2010 | Отправлено: 12:14 02-06-2010
skorpion15

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите пожалуйста реализовать задачку!
13.    Дана строка символов. Выяснить, имеется ли, что в строке пять идущих подряд цифр. Каждую группу цифр заменить их суммой.

Всего записей: 9 | Зарегистр. 19-05-2010 | Отправлено: 15:03 15-06-2010
blina



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите Составить программу, находящую сумму чисел, расположенную между максимальным и минимальным числом в последовательности из 20 случайных чисел.

Всего записей: 4 | Зарегистр. 11-05-2010 | Отправлено: 17:48 28-06-2010
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
blina
Ну вот как-то так:

Код:
import java.util.*;
 
public class Main
{
    public static void main(String[] args)
    {
        final int count = 20;
        int[] array = new int[count];
        Random randomizer = new Random();
 
        for(int i = 0; i < array.length; i++)
            array[i] =  randomizer.nextInt(1000);
 
        int min = array[0];
        int max = array[0];
        int minPos = -1;
        int maxPos = -1;
 
        for(int i = 0; i < array.length; i++)
        {
            if(array[i] < min)
            {
                min = array[i];
                minPos = i;
            }
            if(array[i] > max)
            {
                max = array[i];
                maxPos = i;
            }
        }
 
        int sum = 0;
        int from = 0, to = 0;
        if(minPos < maxPos)
        {
            from = minPos;
            to = maxPos;
        }
        else
        {
            from = maxPos;
            to = minPos;
        }
        for(int i = from + 1; i < to; i++)
            sum += array[i];
 
        for(int e : array)
            System.out.printf("%d\t", e);
        System.out.println();
 
        System.out.println("min = " + min + ", minPos = " + minPos);
        System.out.println("max = " + max + ", maxPos = " + maxPos);
        System.out.println("sum = " + sum);
    }
}

Я вот только не понял, минимальный и максимальный элемент должны входить в сумму или нет? В этом коде не входят.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 21:55 12-07-2010 | Исправлено: Omicron_Persey_8, 21:58 12-07-2010
Protone1993

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
:offtop:





И при чем тут Java

Всего записей: 1 | Зарегистр. 28-09-2010 | Отправлено: 20:40 28-09-2010 | Исправлено: ShIvADeSt, 07:51 02-10-2010
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Protone1993
Круто. И чего с этим делать? И перевод на русский можно?

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 08:03 29-09-2010
ruslrusl



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Copy + Paste рулит!!!

Всего записей: 305 | Зарегистр. 14-10-2009 | Отправлено: 14:47 29-09-2010
Natalyshkao

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
здравствуйте)  
пожалуйста помогите решить задачу))
Выведите на дисплей  распределение значений элементов массива a по интервалам. Границы интервалов задаются в виде массива b, причем нулевой элемент определяет нижнюю границу первого интервала, а элементы с 1-го по n-ый - верхние границы интервалов. В результате работы программы на дисплей должны быть выведены строки «Интервал nn – xx» и последняя строка «Вне интервалов – xx».

Всего записей: 4 | Зарегистр. 01-10-2010 | Отправлено: 00:59 01-10-2010
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Natalyshkao
То есть что-то типа:
a = {5, 7, 9, 5, 3, 8, 1, 4, 1}
b = {0, 2, 4} и вывести элементы с 0 по 2 и с 0 по 4
Результат:
{5, 7, 9}
{5, 7, 9, 5, 3}
 
или все-таки с 0 по 2 и со 2 по 4?
 
Я правильно понял?

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 18:11 01-10-2010
Natalyshkao

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
с 0 по 2 и с 0 по 4
и еще выводиться одна строка элементов, которые не вошли в эти интервалы
заранее спасибо за помощь))

Всего записей: 4 | Зарегистр. 01-10-2010 | Отправлено: 20:40 01-10-2010
DeadVillage



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору


Цитата:
Помогите Составить программу, находящую сумму чисел, расположенную между максимальным и минимальным числом в последовательности из 20 случайных чисел.

 
 
как вариант (генерацию целочисленного массива ar и вывод на печать результата я думаю вы сами сможете сделать...
 

Код:
 
        List<Integer> list1 = new ArrayList<Integer>();
        for( int aa : ar) list1.add(aa);
        Arrays.sort(ar);        
        int from = list1.indexOf(ar[0]);
        int to = list1.indexOf(ar[ar.length-1]);
        int sum = 0;
        for(int i=from+1; i<to; i++) sum += list1.get(i);    
 

Всего записей: 652 | Зарегистр. 05-12-2003 | Отправлено: 03:11 02-10-2010
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Natalyshkao

Цитата:
заранее спасибо за помощь))

Да сколько угодно!
 

Код:
import java.util.*;
 
public class Main
{
    public static void main(String[] args)
    {
        final int count = 10;
        int[] a = new int[count];
        Random randomizer = new Random();
 
        for(int i = 0; i < a.length; i++)
            a[i] =  randomizer.nextInt(20);
 
        int[] b = {0, 2, 4};
        int from = b[0];
        int to = 0;
 
        for(int i = 1; i < b.length; i++)
        {
            to = b[i];
            printArray(a, from, to);
        }
 
        System.out.print("Остались: ");
        printArray(a, to + 1, a.length - 1);
    }
 
    private static void printArray(int[] a, int from, int to)
    {
        System.out.print("{");
        for(int i = from; i <= to; i++)
        {
            if (i > from )
                System.out.print(", ");
            System.out.print(a[i]);
        }
        System.out.println("}");
    }
}

 

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 10:56 02-10-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » JAVA Решение задач


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru