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

16.04.2009, 00:37
|
|
Участник форума
Регистрация: 29.07.2007
Сообщений: 124
Провел на форуме: 1266562
Репутация:
60
|
|
хелп.... нужна прога нв паскале:
ввод массива чисел в прямоугольную матрицу MxN(M<N) размер массива по M>7. Умножение элементов матрицы на число
НЕ АКТУАЛЬНО
Последний раз редактировалось MRAK9; 16.04.2009 в 18:48..
|
|
|

16.04.2009, 15:10
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Сообщение от MRAK9
хелп.... нужна прога нв паскале:
ввод массива чисел в прямоугольную матрицу MxN(M<N) размер массива по M>7. Умножение элементов матрицы на число
Куда мир катится? Даже по таким пустякам просить у кого-то помощи - это уж черезчур...
|
|
|

16.04.2009, 18:47
|
|
Участник форума
Регистрация: 29.07.2007
Сообщений: 124
Провел на форуме: 1266562
Репутация:
60
|
|
Сообщение от ss88
Куда мир катится? Даже по таким пустякам просить у кого-то помощи - это уж черезчур...
хех-ссори за эт просьбу-я просто не успевал все сделать, вот и попросил на ночь глядя
|
|
|

16.04.2009, 18:59
|
|
Участник форума
Регистрация: 10.02.2009
Сообщений: 203
Провел на форуме: 3226894
Репутация:
379
|
|
Сообщение от snAKe33
Как будет выглядеть действие?
из каждой тройки букв удалить среднюю??
Delete (Str, K+1, 1);
K := K + 1;
вот так или нет?
паскаль
HELP!!!!
Последний раз редактировалось snAKe33; 21.04.2009 в 23:07..
|
|
|

16.04.2009, 19:35
|
|
Новичок
Регистрация: 01.11.2008
Сообщений: 10
Провел на форуме: 13651
Репутация:
0
|
|
Ребят в С++ нужно сделать так чтобы при перетягивании из одного имэйджа в другой .когда картинка покрывает большую половину второго имейджа(тот на который перетягую) сама притягивалась("прилипала") к нему... ( чтобы не выставлять по милиметру)
|
|
|

16.04.2009, 22:27
|
|
Участник форума
Регистрация: 26.02.2009
Сообщений: 227
Провел на форуме: 1564765
Репутация:
208
|
|
в делфи нужно решить 2 массива:
1) Заполнить масив A(n,m) единицами по главной диагонали остальные элементы произвольные числа. Заполнить массив по второй диагонали значением суммы элементов по 2 стровек массив распечатать.
2) В массиве X(n,m) определить:
а)количество положительных отрицательных и нулевых элементов
б) номер первого отрицательного элемента.
|
|
|

17.04.2009, 00:24
|
|
Новичок
Регистрация: 22.03.2009
Сообщений: 3
Провел на форуме: 13811
Репутация:
0
|
|
Люди помогите перевести из turbo pascal в pascalABC:
uses crt,graph;
var a,b,bb,x,y,i,jx,jy:integer;
xx,yy:array[1..1000] of integer;
c:char;
n:boolean;
begin
initgraph(a,b,'');
randomize;
a:=1;
i:=1;
n:=false;
x:=100;
y:=240;
rectangle(0,0,639,479);
repeat
jx:=random(640);
jy:=random(480);
if getpixel(jx,jy)=0 then begin
for i:=-3 to 3 do begin
putpixel(jx+i, jy, 14);
putpixel(jx,jy+i,14);
end;
a:=1; end else a:=0;
until a=1;
i:=1;
repeat
a:=a+1;
if a=150*i+1 then a:=1;
if n=false then x:=x+1;
if ord(c)=72 then y:=y-1;
if ord(c)=75 then x:=x-1;
if ord(c)=77 then x:=x+1;
if ord(c)=80 then y:=y+1;
if getpixel(x,y)=15 then c:='x';
if getpixel(x,y)=14 then begin
for b:=y-10 to y+10 do begin
for bb:=x-10 to x+10 do
if getpixel(bb,b)=14 then putpixel(bb,b,0);
end;
repeat
jx:=random(640);
jy:=random(480);
if getpixel(jx,jy)=0 then begin
for b:=-3 to 3 do begin
putpixel(jx+b, jy, 14);
putpixel(jx,jy+b,14);
end;
b:=1; end else b:=0;
until b=1;
i:=i+1;
end;
putpixel(x,y,15);
delay(15);
putpixel(xx[a],yy[a],0);
xx[a]:=x;
yy[a]:=y;
if keypressed then n:=true;
if keypressed then c:=readkey;
until (c='x') or (i=10);
if c='x' then begin
settextstyle(1,0,8);
setcolor(9);
outtextxy(150,200,'THE END...');
end;
if i=10 then begin
setcolor(10);
settextstyle(3,0,8);
outtextxy(150,200,'CONGRATS!');
end;
delay(500);
readkey;
closegraph;
end.
|
|
|

17.04.2009, 19:24
|
|
Новичок
Регистрация: 01.11.2008
Сообщений: 10
Провел на форуме: 13651
Репутация:
0
|
|
Подскажите пжлст,где можно взять исходник самых примитивных пазлов под C++ builder???
|
|
|

18.04.2009, 11:20
|
|
Новичок
Регистрация: 17.04.2009
Сообщений: 2
Провел на форуме: 3073
Репутация:
0
|
|
помогите плиз!!! нужна прога на С++ которая складывает, умножает, обращает, транспонирует матрицы
|
|
|

18.04.2009, 20:19
|
|
Познающий
Регистрация: 09.03.2009
Сообщений: 43
Провел на форуме: 549532
Репутация:
53
|
|
кто-нибудь может переписать задачу под задачу в которой из одной вершины может быть несколько ребер?
Нужно добавить еще один цикл в функцию, в котором будет перебираться количество ветвей из текущей вершины. Идти будет от 1 до некоего T, которое будет изменяться (это количество оставшихся вершин).
Код:
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>
// структура "точка"
struct Scoord
{
double x;
double y;
};
const int LMAX=0, RMAX=30, TMAX=24, BMAX=0;
int N;
double Smin; // сюда запишем минимальную сумму
int *minPath; // здесь будет минимальный путь
double **matr; // матрица, где будем хранить длины ребер
Scoord *mas; // массив точек
// рекурсивная функция для поиска пути.
// принимает указатель на текущий путь (который формируется с каждым вызовом)
// порядковый номер текущей вершины и текущую сумму ребер
void getMinPath(int *tekPath, int tek, double tekS)
{
if(tek==N) // если перебрали все вершины
{
if(tekS<Smin || Smin==0) // и если текущая сумма меньше той, которую запомнили
{
Smin = tekS; // запоминаем
for(int j=0; j<N; j++)
minPath[j] = tekPath[j]; // и запоминаем путь
}
return;
}
// иначе...
bool b;
for(int i=0; i<N; i++) // перебираем все вершины
{
b = false;
for(int j=0; j<tek; j++) // смотрим, нет ли текущей вершины в уже сформировавшемся пути
if(tekPath[j]==i) b=true; // если есть, ставим флаг
if(b) continue; // если флаг установлен, пропускаем вершину и берем следующую
tekPath[tek] = i; // добавляем вершину к пути
getMinPath(tekPath, tek+1, tekS+matr[tekPath[tek-1]][i]); // и ищем следующую вершину
}
}
//-----------
// функция для заполнения матрицы
// принимает указатель на матрицу
void fillMatr(double **matr)
{
int i,j;
double dlina;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(j==i) continue;
else
{ // для двух разных вершин считаем длину ребра
dlina = sqrt(pow(mas[i].x-mas[j].x,2)+pow(mas[i].y-mas[j].y,2));
if(dlina<matr[i][j] || matr[i][j]==0)
matr[i][j] = dlina;
}
}
//----------------------
int main()
{
int i,j;
int *tekPath;
srand(time(NULL));
printf("Vvedite kolichestvo vershyn: ");
scanf("%d",&N);
// выделяем память под массив вершин
mas = new Scoord[N];
for(i=0;i<N;i++)
{
// разбрасываем точки
mas[i].x = rand()*(RMAX-LMAX)/(double)RAND_MAX+LMAX;
mas[i].y = rand()*(BMAX-TMAX)/(double)RAND_MAX+TMAX;
printf("To4ka %d: %5.3lf %5.3lf\n",i,mas[i].x,mas[i].y);
}
printf("\n");
//==================
// выделяем память под матрицу
matr = new double*[N];
for(i=0;i<N;i++)
matr[i] = new double[N];
// память под минимальный и текущий пути
tekPath = new int[N];
minPath = new int[N];
Smin = 0;
for(i=0; i<N;i++)
for(j=0;j<N;j++)
matr[i][j] = 0;
fillMatr(matr); // заполняем матрицу
// ищем минимальный путь
for(i=0; i<N; i++) // в цикле перебираем стартовые вершины
{
tekPath[0] = i;
getMinPath(tekPath, 1, 0);
}
printf("\n Minimalnaya summa = %5.3lf\n\n",Smin);
printf("derevo:\n");
printf("%d",minPath[0]);
for(i=1;i<N;i++)
printf(" -> %d",minPath[i]);
printf("\n");
for(i=0;i<N;i++)
delete[] matr[i];
delete[] matr;
delete mas;
delete[] minPath;
delete[] tekPath;
getch();
return 0;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|