ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #251  
Старый 29.02.2008, 12:27
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

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

прикольно я первый раз пробую на паскале
Код:
  max:=0;
  for i := 1 to n do begin
    cnt:=0;
    for j := i+1 to n do begin
       if A[i]=A[j] then
       cnt:=cnt+1;
     end;
     if max<cnt then begin
       max:=cnt;
       el:=A[i];
     end;
  end;
.... и тут вывести результат el
не бейте мну

Последний раз редактировалось Delimiter; 29.02.2008 в 12:39..
 
Ответить с цитированием

  #252  
Старый 29.02.2008, 15:10
Garfi
Участник форума
Регистрация: 02.02.2008
Сообщений: 106
Провел на форуме:
594791

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

Цитата:
Сообщение от Delimiter  
прикольно я первый раз пробую на паскале
Код:
  max:=0;
  for i := 1 to n do begin
    cnt:=0;
    for j := i+1 to n do begin
       if A[i]=A[j] then
       cnt:=cnt+1;
     end;
     if max<cnt then begin
       max:=cnt;
       el:=A[i];
     end;
  end;
.... и тут вывести результат el
не бейте мну
Вначале надо n объявить а то компилятор матюгаться будет!
 
Ответить с цитированием

  #253  
Старый 29.02.2008, 15:24
}I{ek
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме:
64407

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

Товарищи, помогите пожалуйста с лабой:
Выполнить слияние двух упорядоченных по убыванию массивов в один массив, упорядоченный по убыванию
Методом слияния
Массивы из n и m элементов


a: 20 19 16 12 // резмер n
b: 13 5 4 // резмер m
c: 20 19 16 13 12 5 4 // резмер n+m

ну я примерно написал неполностью, но не уверен:
void sort (int a[],int b[], int c[],int m,int n)
{
int i=0
int j=0
for (int z=0;z<m+n;z++)
if (a[i]>b[j])
{
c[z]=a[i]; i++}
else {c[z]=a[j]; j++}

вот а как дальше сделать так чтобы если один массив исчерпали другой чтобы не проверялся а сразу копировался ????

a - 18 17 16 10
b - 11 9 8 7 6 5 4 3 2 1

так вот итог :
c - 18 17 16 11 10 сравниваем..... а вот начиная от 9 просто копируем и все
 
Ответить с цитированием

  #254  
Старый 29.02.2008, 15:37
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

не проверял
Код:
void sort (int a[],int b[], int c[],int m,int n)
{
int i=0
int j=0
for (int z=0; z<m && z<n; z++)
	if (a[i] > b[j])
	{
		c[z]=a[i]; 
		i++;
	}
	else 
	{
		c[z]=b[j];
		j++;
	}
	
	while(i<m)
	{
		c[z]=a[i]; 
		i++;
		z++;
	}
	
	while(j<n)
	{
		c[z]=b[i]; 
		j++;
		z++;
	}
	
}
 
Ответить с цитированием

  #255  
Старый 29.02.2008, 15:56
}I{ek
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме:
64407

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

не .....билиберду выдает.....
 
Ответить с цитированием

  #256  
Старый 29.02.2008, 16:08
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

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

Код:
void sort(int* a, int* b, int* c, int size_a, int size_b)
{
	for(int i=0, j=0, k=0; k < size_a + size_b;) {
		if( a[i] > b[j] )
			c[k] = a[i++];
		else if ( a[i] < b[j] )
			c[k] = b[j++];
		else
			c[k] = a[i++], ++j;
		++k;

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

  #257  
Старый 29.02.2008, 16:18
}I{ek
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме:
64407

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

Во спс....
работает только при size_a = size_b
если же
size_a=4
size_b=4

снова билиберда.....

кароче, вот код
Код:
#include <iostream.h>
#include <conio.h>
void input (int a[],int n);
void output (int a[],int n);
void sort  (int a[],int b[],int c[],int n, int m);
void main ()
   {
     int n,m;
     int a[100],b[100],c[200];
     cout<<"n?" ; cin>> n;
     cout<<"m?" ; cin>> m;
     input (a,n);
     input (b,m);
     sort  (a,b,c,n,m);
     output  (c,n+m);
     getch();
    }

void input(int a[], int n)
      {
         cout<< "vvedite "<<n<<" 4isel: "<<endl ;
         for(int i=0;i<n;i++)
         cin>>a[i];
      }

void output(int a[],  int n)
       {
         for(int i=0;i<n;i++)
         cout<<a[i]<<endl;
       }
void sort ()

Последний раз редактировалось }I{ek; 29.02.2008 в 16:21..
 
Ответить с цитированием

  #258  
Старый 29.02.2008, 16:41
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

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

Код:
#include <iostream>
using namespace std;

void sort(int*,int*, int*, int, int);
void print(const int*, int);
void input(int*, int);

int main()
{
	int sizeN;
	int sizeM;

	cout << "Input sizeN and sizeM" << endl;

	cin >> sizeN >> sizeM;

	int* a = new int[sizeN];
	int* b = new int[sizeM];
	int* c = new int[sizeN+sizeM];

	if( ( a && b && c ) == 0 ) {
		cerr << "Not enought memory" << endl;
		return 1;
	}

	cout << "1st array : " << endl;
	input(a, sizeN);

	cout << "2d array : " << endl;
	input(b, sizeM);

	sort(a, b, c, sizeN, sizeM);

	cout << "New array : " << endl;

	print(c, sizeN + sizeM);

	delete [] a;
	delete [] b;
	delete [] c;
	
	return 0;
}

void print(const int *iptr, int size)
{
	for(int i=0; i < size; ++i)
		cout << iptr[i] << '\t';

	cout << endl;
}

void input(int *iptr, int size)
{
	cout << "Input " << size << " elements : " << endl;

	for(int i=0; i < size; ++i)
		cin >> iptr[i];
}

void sort( int* a, int* b, int* c, int size_a, int size_b)
{
	int i=0, j=0, k=0;
	for( ; i < size_a; ++i, ++k ) {
		for(; j < size_b && b[j] > a[i]; ++j,++k )
			c[k] = b[j];
		c[k] = a[i];
	}

	for( ; j < size_b; ++j, ++k )
		c[k] = b[j];
}

Последний раз редактировалось Forcer; 01.03.2008 в 00:41..
 
Ответить с цитированием

  #259  
Старый 29.02.2008, 16:41
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

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

Код:
    a[0]=20;
	a[1]=19;
	a[2]=16;
	a[3]=12;
	b[0]=13;
	b[1]=5;
	b[2]=4;
	int i,j,l;
	int m=4;
	int n=3;
	for(i=0,j=0,l=0;i<n;i++,l++)
	{
		for(;j<m && a[i]<b[j];j++,l++)
			c[l]=b[j];
		c[l]=a[i];
	}
	for(;j<m;j++,l++)
			c[l]=b[j];
ну это на пятерку
 
Ответить с цитированием

  #260  
Старый 29.02.2008, 16:44
}I{ek
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме:
64407

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

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! 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