Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

29.02.2008, 12:27
|
|
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..
|
|
|

29.02.2008, 15:10
|
|
Участник форума
Регистрация: 02.02.2008
Сообщений: 106
Провел на форуме: 594791
Репутация:
55
|
|
Сообщение от 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 объявить а то компилятор матюгаться будет! 
|
|
|

29.02.2008, 15:24
|
|
Новичок
Регистрация: 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 просто копируем и все
|
|
|

29.02.2008, 15:37
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
не проверял
Код:
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++;
}
}
|
|
|

29.02.2008, 15:56
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме: 64407
Репутация:
2
|
|
не .....билиберду выдает.....
|
|
|

29.02.2008, 16:08
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Код:
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;
}
}
|
|
|

29.02.2008, 16:18
|
|
Новичок
Регистрация: 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..
|
|
|

29.02.2008, 16:41
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
Код:
#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..
|
|
|

29.02.2008, 16:41
|
|
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];
ну это на пятерку 
|
|
|

29.02.2008, 16:44
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 12
Провел на форуме: 64407
Репутация:
2
|
|
неа....тож самое....
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|