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

02.05.2008, 13:11
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Торопился код может быть корявым!
Important: Код писался именно для этого случая!
Код:
program pr7;
uses crt;
const n=6; m=6;
a:array[1..n,1..m] of integer=((0,2,1,2,5,6),
(4,5,7,8,1,8),
(0,6,2,3,3,4),
(5,6,1,9,7,1),
(1,2,3,4,5,6),
(6,5,4,3,2,1));
var
i,j,k:integer;
Begin
For i:=1 to n Do
Begin
For j:=1 to m DO write(a[i,j],' ');
writeln;
end;
For i:=1 to n Do
Begin
For j:=0 to m-1 Do
Begin
If j<3 then Begin
k:=a[i,j+1];
a[i,j+1]:=a[i,n-j];
a[i,m-j]:=k;
end;
end;
end;
writeln;
writeln;
For i:=1 to n Do
Begin
For j:=1 to m DO write(a[i,j],' ');
writeln;
end;
readln;
end.
"Автоматически" меняет местами столбцы!
=============
Как упорядочить думаю догодаешься!
Но если будут сложности, я помогу, только чуть позже!
Последний раз редактировалось De-visible; 02.05.2008 в 15:58..
|
|
|

02.05.2008, 18:43
|
|
Участник форума
Регистрация: 02.02.2008
Сообщений: 106
Провел на форуме: 594791
Репутация:
55
|
|
Не коверкай рiдну мову...
Если кто-то из русскоговорящих возметься:
дано n (1<n<=100) точка на площади координат (xi, yi) (i=1,n). Точки образуют многоугольник з n углами и n сторонами.
Исходные данные
Определить:
a) Средняя арифметичная длина стороны многоугольника
b) Количество номеров сторон, что пересекают ось координат
p.s. за бесплатно врядле кто возметься...
|
|
|

02.05.2008, 19:11
|
|
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
Сейчас накатал, возможны косяки, проверить нет возможности.
PS: на плюсы перевести думаю справишься..
Код:
#include <stdio.h>
#include <math.h>
void main(void)
{
unsigned int x_point[100], y_point[100];
int lenght = 0, amount = 0;
for (int i = 0; i < 100; i++)
{
printf("point %d: enter xi\n", i + 1);
scanf("%d", &x_point[i]);
printf("point %d: enter yi\n", i + 1);
scanf("%d", &y_point[i]);
}
for (int i = 0; i < 99; i++)
{
if (x_point[i] > 0 && x_point[i + 1] < 0)
amount++;
if (x_point[i] < 0 && x_point[i + 1] > 0)
amount++;
if (y_point[i] > 0 && y_point[i + 1] < 0)
amount++;
if (x_point[i] < 0 && x_point[i + 1] > 0)
amount++;
lenght += sqrt(abs(x_point[i + 1] - x_point[i]) * abs(x_point[i + 1] - x_point[i]) + abs(y_point[i + 1] - y_point[i]) * abs(y_point[i + 1] - y_point[i]));
}
printf("amount: %d", amount);
printf("lenght: %d", lenght / 100);
return;
}
|
|
|

02.05.2008, 21:55
|
|
Новичок
Регистрация: 14.03.2008
Сообщений: 28
Провел на форуме: 39192
Репутация:
2
|
|
помогите с задачай по текстовым файлам (ПАСКАЛЬ)
Дан файл, содержащий текст и арифметические выражения
вида а®b, где ® — один из знаков +, —, *, /. Выписать все арифметические выражения и вычислить их значения.
з.ы. почему мою тему удалили
De-visible:Правильный ответ уже прозвучал!
http://forum.antichat.ru/showpost.php?p=675710&postcount=481
Последний раз редактировалось De-visible; 05.05.2008 в 11:22..
|
|
|

03.05.2008, 13:11
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Помогите найти ошибку в коде:
Код:
typedef struct ip_header {
UCHAR iph_verlen;
UCHAR iph_tos;
USHORT iph_length;
USHORT iph_id;
USHORT iph_offset;
UCHAR iph_ttl;
UCHAR iph_protocol;
USHORT iph_xsum;
ULONG iph_src;
ULONG iph_dest;
} IPHeader;
Заполняю ИП заголовок:
Код:
ip_hd->iph_verlen = 0x45;
ip_hd->iph_tos = 0x01;
ip_hd->iph_length = htons(40);
ip_hd->iph_id = htons(0x0800);
ip_hd->iph_offset = 0x0;
ip_hd->iph_ttl = 0xff;
ip_hd->iph_protocol = 0x06;
ip_hd->iph_xsum = 0x00;
ip_hd->iph_dest = inet_addr("192.168.0.1");
При заполнение вылетает экзепшн(Access violation). Не могу понять почему происходит... 
|
|
|

03.05.2008, 15:43
|
|
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме: 413927
Репутация:
71
|
|
При заполнение вылетает экзепшн(Access violation). Не могу понять почему происходит...
ты память то выделил?
|
|
|

03.05.2008, 15:59
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Сообщение от da_ff
ты память то выделил?
Для структуры? Извините за глупый вопрос: А как? 
|
|
|

03.05.2008, 19:44
|
|
Познающий
Регистрация: 22.02.2008
Сообщений: 62
Провел на форуме: 211076
Репутация:
52
|
|
Ну тогда попробуй так:
Код:
program qwer;
var
s:string;
a:char;
infile,outfile:text;
n,m,c,i:integer;
begin
assign(infile,'input.txt');
assign(outfile,'output.txt');
reset(infile);
rewrite(outfile);
repeat
readln(infile,s);
for i:=1 to length(s) do begin
a:=s[i];
case a of
'+':begin
val(Copy(s,1, i-1),m,c);
val(Copy(s,i+1,length(s)-i),n,c);
write(outfile,s+'=');
writeln(outfile,m+n);
end;
'-':begin
val(Copy(s,1, i-1),m,c);
val(Copy(s,i+1,length(s)-i),n,c);
write(outfile,s+'=');
writeln(outfile,m-n);
end ;
'*':begin
val(Copy(s,1, i-1),m,c);
val(Copy(s,i+1,length(s)-i),n,c);
write(outfile,s+'=');
writeln(outfile,m*n);
end ;
'/':begin
val(Copy(s,1, i-1),m,c);
val(Copy(s,i+1,length(s)-i),n,c);
write(outfile,s+'=');
writeln(outfile,m/n:8:2);
end ;
end;
end;
n:=0;
m:=0;
until eof(infile);
close(outfile);
close(infile);
end.
|
|
|

04.05.2008, 10:38
|
|
Новичок
Регистрация: 26.04.2008
Сообщений: 12
Провел на форуме: 7573
Репутация:
2
|
|
помгите с двумя задачками плиз
1) через процедуры:
Составить программу для нахождения чисел из интервала [M, N], имеющих наибольшее количество делителей.
2) через функции:
Дано: натуральное n, целые неотрицательные a1, …, an. Рассмотреть отрезки последовательности a1, …, an (подпоследовательности идущих подряд членов), состоящей полных квадратов. Для проверки использовать функцию primer(a), описанную таким образом, что
.............1, если a – полный квадрат,
primer=
.............0, в противном случае.
De-visible: Реализация на Паскаль...
В следующий раз, не забывайте указать язык программирования, здесь нет телепатов
Последний раз редактировалось De-visible; 04.05.2008 в 12:06..
|
|
|

04.05.2008, 13:05
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Catsy, первая задача
Код:
program deliteli;
{Составить программу для нахождения чисел из интервала [M, N],
имеющих наибольшее количество делителей.}
procedure GetCount (x : integer; var count : integer);
{Подсчет кол-ва делителей для каждого числа}
var
i, j : integer;
begin
i := 2;
count := 0;
j := x div 2;
while (i <= j) do begin
if x mod i = 0 then begin
write (i, ' ');
inc (count);
x := x div i;
end else
inc (i);
end;
writeln;
end;
procedure PrintNumbers (x, y : array of integer; count, index : integer);
var
i : integer;
begin
for i := 0 to count - 1 do
if y [i] = index then
writeln (x [i]);
end;
var
n1, n2, i, j, count, max : integer; {Первое, последнее число, счетчики цикла, кол-во делителей, максимальное кол-во делителей}
numbers : array [1..255] of integer; {Массив для чисел}
del_count : array [1..255] of integer; {Массив для количества делителей каждого числа}
begin
write ('Введите первое число n1: ');
readln (n1);
write ('Введите последнее число n2: ');
readln (n2);
count := 0;
max := 0;
j := 1;
for i := n1 to n2 do begin
numbers [j] := i;
write ('Делители числа ', i, ': ');
GetCount (i, count);
del_count [j] := count;
if count > max then
max := count;
writeln ('Количество: ', count);
inc (j);
end;
writeln ('Максимальное число делителей: ', max);
writeln ('Числа, имеющие наибольшее кол-во делителей');
PrintNumbers (numbers, del_count, n2 - n1 + 1, max);
end.
Условие второй как-то не совсем понял 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|