ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1891  
Старый 19.11.2009, 02:45
Linkus
Участник форума
Регистрация: 20.12.2008
Сообщений: 130
Провел на форуме:
436500

Репутация: 11
По умолчанию

Цитата:
Сообщение от Vinsik  
Привет всем!
Спасайте срочно пожалуйста!)
Паскаль:
Упорядочить массив А(20) методом слияния.
Код:
Program SlivSort;
const arrsize= 20;
Var A,B : array[1..20] of integer;
    N,i  : integer;
Procedure Sliv(p,q : integer); {процедура сливающая массивы}
Var r,i,j,k : integer;
Begin
 r:=(p+q) div 2;
 i:=p;
 j:=r+1;
 for k:=p to q do
 if (i<=r) and ((j>q) or (a[i]<a[j])) then
  begin
   b[k]:=a[i];
   i:=i+1;
  end
 else
  begin
   b[k]:=a[j];
   j:=j+1;
  end ;
 for k:=p to q do
a[k]:=b[k];
End;
Procedure Sort(p,q : integer); {p,q - индексы начала и конца сортируемой части массива}
Begin
 if p<q then {массив из одного элемента тривиально упорядочен}
 begin
  Sort(p,(p+q) div 2);
  Sort((p+q) div 2 + 1,q);
  Sliv(p,q);
 end;
End;
Begin
 {Определение размера массива A - N) и его заполнение}
 randomize;
 for i:= 1 to arrsize do begin
	A[i]:= random(50);
	write(A[i],' ');
	end;
 Writeln;

 {запуск сортирующей процедуры}
 Sort(1,arrsize);
 {Вывод отсортированного массива A}
  for i:= 1 to arrsize do write(a[i],' ');
 readln;
End.
 
Ответить с цитированием

  #1892  
Старый 19.11.2009, 15:03
Badanga
Новичок
Регистрация: 21.12.2006
Сообщений: 5
Провел на форуме:
33140

Репутация: 0
По умолчанию

спасайте..
написал программу на С++ которая высчитывает дни недели.
стал писать защиту от дураков, но доделать её немогу.
нужно сделать чтоб программа учитывала весокосные года и при ошибке писала что вы ошиблись.
идейки есть( но к сажалению языка незнаю( ибо в универе прошлом учил паскаль(
завтра сдавать а я низнаю как сделать(

PHP код:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
//_______________________Руссификатор консоли_______________________________________


char bufRus[256];
char*Rus(const char*text)
    {
    
CharToOem(textbufRus);
    return 
bufRus;
    }

//_________________Программа___________________________
void main ()
{
    
int daymonthyear;
    
int c,y;
    
int m;
    
int d;

    
printf(Rus("Определение дня недели по дате\n"));
    
printf(Rus("ВВедите дату: день месяц год\n"));
    
printf(Rus("Например: 5  12  2001\n"));


    
printf(Rus("ВВедите: Месяц ->\n"));
        
scanf("%i", &month);
//__________________________Защита________________________________
while (month>12)
{
if (
month>12)
{
printf(Rus("Дибил, ошибся, попробуй ещё ->\n"));
scanf("%i", &month); }
else break;
}
//__________________________________________________________

    
printf(Rus("ВВедите:  День ->\n"));
        
scanf("%i", &day);

 
//__________________________Защита________________________________
while (month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
if (
day>31)
{
printf(Rus("Дибил, ошибся, попробуй ещё ->\n"));
scanf("%i", &day);}
else break;
}

while (
month==2)
{
if (
day>29)
{
printf(Rus("Дибил, ошибся, попробуй ещё ->\n"));
scanf("%i", &day);}
else break;
}

while (
month==4||month==6||month==9||month==11)
{
if (
day>30)
{
printf(Rus("Дибил, ошибся, попробуй ещё ->\n"));
scanf("%i", &day);}
else break;

}
//__________________________________________________________
        
printf(Rus("ВВедите:   Год ->\n"));
    
scanf("%i", &year);

     
        if (
month==1||month==2)
                
year--;
        
m=month 2;

        if (
m<=0m+=12;

    
c=year/100;
    
y=year-c*100;
    
d=(day+(13*m-1)/5+y+y/4+c/4-2*c+777)%7;

    switch (
d)
    {
    
    case 
1printf(Rus("Понедельник\n")); break;
    case 
2printf(Rus("Вторник\n")); break;
    case 
3printf(Rus("Среда\n")); break;
    case 
4printf(Rus("Четверг\n")); break;
    case 
5printf(Rus("Пятница\n")); break;
    case 
6printf(Rus("Суббота\n")); break;
    case 
0printf(Rus("Воскресенье\n")); break;
        }
       
  

getch ();


 
Ответить с цитированием

  #1893  
Старый 19.11.2009, 17:57
Roston
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме:
2866942

Репутация: 350
Отправить сообщение для Roston с помощью ICQ
По умолчанию

Ну например
Код:
int god;
if (god%4==0)
printf("Год высокосный");
походу так
Дальше спихнуть в свой код сам думаю сможеш=)
 
Ответить с цитированием

  #1894  
Старый 19.11.2009, 18:06
warkk
Участник форума
Регистрация: 20.02.2009
Сообщений: 183
Провел на форуме:
719582

Репутация: 50
Отправить сообщение для warkk с помощью ICQ
По умолчанию

Задача на Паскале: ........, Если масисив не упорядочен, то определить длину упорядоченной часта массива.
я делаю так
Код:
t:=0;
        for i:=0 to n do
            begin
                 if m[i]<m[i+1] then k:=k+1
                 else
                     begin
                          if t<k then
                             begin
                                  t:=k;
                                  k:=1;
                             end
И если масив состоит из 12123123451
Выведет 5, т.к. это самая длинная упорядочена часть масива.
Но если 12123123456
То выведет 3, т.е. оно у меня не правильно считает, потому что не выполняется условие f m[i]<m[i+1]
Как сделать что бы нормально считало?

Последний раз редактировалось warkk; 19.11.2009 в 20:29..
 
Ответить с цитированием

  #1895  
Старый 19.11.2009, 18:09
Roston
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме:
2866942

Репутация: 350
Отправить сообщение для Roston с помощью ICQ
По умолчанию

Смотри. у тебя переменная t:=0
В условии if t>k then
begin
t:=k;
k:=1;
end
она всё время меньше k будет
 
Ответить с цитированием

  #1896  
Старый 19.11.2009, 18:12
warkk
Участник форума
Регистрация: 20.02.2009
Сообщений: 183
Провел на форуме:
719582

Репутация: 50
Отправить сообщение для warkk с помощью ICQ
По умолчанию

Но ведь во второй раз она может быть и больше k. Просто мне нужно самую длинную упорядоченную часть масива. Вдруг эта часть будет меньше предыдущей упорядоченной части.
 
Ответить с цитированием

  #1897  
Старый 19.11.2009, 18:15
Roston
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме:
2866942

Репутация: 350
Отправить сообщение для Roston с помощью ICQ
По умолчанию

Ты меня конешно извини, но я упор не вижу что бы твоя перемення t где нибудь увеличивалася
 
Ответить с цитированием

  #1898  
Старый 19.11.2009, 18:34
warkk
Участник форума
Регистрация: 20.02.2009
Сообщений: 183
Провел на форуме:
719582

Репутация: 50
Отправить сообщение для warkk с помощью ICQ
По умолчанию

t:=k;
 
Ответить с цитированием

  #1899  
Старый 19.11.2009, 20:13
Roston
Постоянный
Регистрация: 31.07.2008
Сообщений: 370
Провел на форуме:
2866942

Репутация: 350
Отправить сообщение для Roston с помощью ICQ
По умолчанию

Блин да посмотри сам... где в else ты проверяеш или t больше k... это условие никогда не збудетсо... може t меньше k?
 
Ответить с цитированием

  #1900  
Старый 19.11.2009, 20:28
warkk
Участник форума
Регистрация: 20.02.2009
Сообщений: 183
Провел на форуме:
719582

Репутация: 50
Отправить сообщение для warkk с помощью ICQ
По умолчанию

Эм.. Точно, чет затупил, сори) Но проблема актуальна, как определить длину упорядоченной части массива?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ