помогите пожалуйста решить задачу... поставлю высший бал - Форум
Пятница, 09.12.2016, 12:36
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » помогите пожалуйста решить задачу... поставлю высший бал (задачи)
помогите пожалуйста решить задачу... поставлю высший бал
6e3MoHuTopaДата: Воскресенье, 17.01.2010, 21:30 | Сообщение # 1
Рядовой
Группа: Новичок
Сообщений: 2
[ 0 ]
Статус: Offline
зазача № 1)Рассмотрим массив целых или действительных чисел а1,…,аn. Пусть требуется переставить элементы этого массива так, чтобы после перестановки они были упорядочены по неубыванию: а1<=a2<=…<=an. Эта задача называется задачей или упорядочения массива (эту задачу можно рассматривать применительно к упорядочению по невозрастанию: a1>=a2>=…>=an; если числа попарно различны, то можно говорить об убывании и возрастании). Для решения этой задачи можно воспользоваться, например, следующим алгоритмом:
Найти элемент массива, имеющий наименьшее значение, представить его с первым элементом, затем проделать то же самое, начав со второго элемента и т. д. (сортировка выбором).

задача №2) Получить все меньшие 10^6 натуральные числа, которые являются палиндромами как в десятичной так и в двоичной системах

задача № 3)
Даны действительные числа x, y1,…,y12. Выяснить, во-первых, верно ли, что y1<=x<=y12, и, во-вторых, верно ли, что t1<=x<=t2, где t1- наименьшее, а t2 – наибольшее среди y1,…,y12. (Какие комбинации ответов на первый и второй вопросы возможны?)

Помогите пожалуйста

 
ignorerДата: Воскресенье, 17.01.2010, 21:35 | Сообщение # 2
Генералиссимус
Группа: Модераторы
Сообщений: 602
[ 18 ]
Статус: Offline
тебе к какому сроку решить надо, а то тока завтра смогу
 
[Nostr]Дата: Понедельник, 18.01.2010, 15:17 | Сообщение # 3
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
Ну что-же. Помогу. Сейчас для интереса напишу на скорость...
Вот только на каком языке тебе написать? Сможешь ли ты из c++ в pascal переписать?

Добавлено (18.01.2010, 15:05)
---------------------------------------------
Задание №1 на c++ (пока я тут, можешь задавать вопросы)

Code

#include <iostream>
#include <stdlib.h>
#include <conio.h>

using namespace std;

int main()
{
    const int N=10;
    int a[N],i,k,j;
       
    for (i=0;i<N;i++){
     cout << "Input a[" << i << "]: ";
     cin >> a[i];
     system("cls");
    }
    cout << "Your array : \n";
    for (i=0;i<N;i++) cout << a[i] << " ";
    cout << "\nYour array after sort: \n";
    for (i=0;i<N;i++){
     for (j=i+1;j<N;j++){
      if (a[i]>a[j]){  // по возрастанию
       k = a[i];
       a[i] = a[j];
       a[j] = k;
      }
     }
     cout << a[i] << " ";
    }

    getch(); // чтобы окно не закрывалось
    return 0;
}

Добавлено (18.01.2010, 15:17)
---------------------------------------------
Задание №3 на C++

Code
#include <iostream>
#include <conio.h>
#include <stdlib.h>

using namespace std;

int main()
{
    int i,x,y[12]; // замена 12 игреков массивом
    cin >> x;
    for (i=0;i<12;i++) cin >> y[i];

    if ((x>=y[0])&&(x<=y[11])){
     cout << "Otvet : \n1) YES\n2) YES\n";
    }
    else{
     int min,max;
     min = y[0];
     max = y[0];
     for (i=0;i<12;i++){
      if (y[i]<min) min = y[i];
      else
      if (y[i]>max) max = y[i];
     }
     if ((x>=min)&&(x<=max)) cout << "Otvet : \n1) NO\n2) YES\n";
     else cout << "Otvet : \n1) NO\n2) NO\n";
    }
    getch();
    return 0;
}


Сообщение отредактировал [Nostr] - Понедельник, 18.01.2010, 15:18
 
ignorerДата: Понедельник, 18.01.2010, 15:52 | Сообщение # 4
Генералиссимус
Группа: Модераторы
Сообщений: 602
[ 18 ]
Статус: Offline
вот вторая на паскале
var a, b, c, d : array[1..100] of integer;
n, x, y, i : integer;
b1, b2 : boolean;
begin
for x:=1 to 999999 do begin
y:=x; i:=0; b1:=true;
repeat
inc(i);
a[i]:=y mod 2;
y:=y div 2;
until y=0;
n:=i;
for i:=1 to n do b[i]:=a[n-i+1];
for i:=1 to n do if a[i]<>b[i]then b1:=false;
y:=x; i:=0; b2:=true;
repeat
inc(i);
c[i]:=y mod 10;
y:=y div 10;
until y=0;
n:=i;
for i:=1 to n do d[i]:=c[n-i+1];
for i:=1 to n do if c[i]<>d[i]then b2:=false;
if b1 and b2 then write(x, ' ');
end;
end.

Добавлено (18.01.2010, 15:49)
---------------------------------------------
вот решение первой, тоже на паскале
var a : array[1..100] of integer;
i, n, z : integer;
b : boolean;
begin
cls;
read(n);
for i:=1 to n do begin a[i]:=random(50); write(a[i], ' '); end;
repeat
b:=true;
for i:=1 to n-1 do if a[i]>a[i+1] then begin
z:=a[i]; a[i]:=a[i+1]; a[i+1]:=z; b:=false;
end;
until b;
writeln; for i:=1 to n do write(a[i], ' ');
end.

Добавлено (18.01.2010, 15:52)
---------------------------------------------
а в третьей я чёт не пойму: все числа задаются с клавиатуры или берутся случайно?
З.Ы. если что не нравится, то лучше скажи сразу и я быстро переделаю. буду вечером

 
6e3MoHuTopaДата: Понедельник, 18.01.2010, 18:27 | Сообщение # 5
Рядовой
Группа: Новичок
Сообщений: 2
[ 0 ]
Статус: Offline
Ну... тебе большое спасибо... вообщето мне задачи на паскале нужні... и третья задача - это задача, где числа нужно вводить с клавиатуры...
и вот что я не могу понять во второй задаче на паскале: что такое inc(i); ?? что оно делает?
и во второй cls; мне не понятна строка...
и когда напишешь ответ, то напиши пожалуйста нижу как я могу тебе поставить высший бал и поблагодарить??? я просто не вижу кнопочки СПАСИБО или что-то типа этого... я так понял, что тебе нужно рейтинг поднять))) я помогу))
 
[Nostr]Дата: Понедельник, 18.01.2010, 18:34 | Сообщение # 6
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
cls - очистка экрана
inc(i) - равносильно : i:=i+1; - Тоесть увеличение на единицу
 
ignorerДата: Среда, 20.01.2010, 15:05 | Сообщение # 7
Генералиссимус
Группа: Модераторы
Сообщений: 602
[ 18 ]
Статус: Offline
Code

Var t1, t2, i, x : integer;
       y : array[0..12] of integer;
       b : boolean;
begin
  cls;
  read(x, y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12]);
  t1:=y[1];
  if (x>=y[1])and(x<=y[12]) then begin writeln('verno'); write('verno'); b:=true; end
  else writeln('neverno');
  if not b then begin
   for i:=1 to 12 do begin
    if t1>y[i] then t1:=y[i];
    if t2<y[i] then t2:=y[i];
   end;
   if (t1>x)or(t2<x) then write('neverno') else write('verno')
end;
end.

третья вроде так
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » помогите пожалуйста решить задачу... поставлю высший бал (задачи)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016