ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

19.03.2009, 22:07
|
|
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме: 394522
Репутация:
14
|
|
Все таки может кто то помочь с транспонированием матрицы !? Квадратную матрицу - транспонирую без проблем , а вот с не квадратной - не выходит !
2 fker : Зашел я на топик что ты указал , и посмеялся ) Народ даже вопрос не сообразил , объясняли мне что приведены выше в топике код транспонирует и не квадратную матрицу - хотя ето не так )))
|
|
|

20.03.2009, 15:23
|
|
Участник форума
Регистрация: 08.11.2008
Сообщений: 164
Провел на форуме: 5779069
Репутация:
185
|
|
http://forum.antichat.ru/showpost.php?p=1178896&postcount=1193
UP выручайте
|
|
|

20.03.2009, 16:28
|
|
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме: 1345617
Репутация:
115
|
|
Привет... помогите решить ньютоном!

|
|
|
Программный эмулятор менеджера виртуальной страничной памяти |

21.03.2009, 14:07
|
|
Познающий
Регистрация: 19.11.2007
Сообщений: 81
Провел на форуме: 509730
Репутация:
52
|
|
Программный эмулятор менеджера виртуальной страничной памяти
Уважаемые,нужно сделать контрольную роботу по системному программированию и операционным системам.
Нужно разработать простейший программный эмулятор менеджера виртуальной страничной памяти компьютера с одноуровневой таблицей страниц.
Языки: JAVA, C++, Object Pascal.(на любом из перечисленных)
Кто возьмется?не за бесплатно конечно,пишите в асю или в пм.
Последний раз редактировалось DREASTY; 21.03.2009 в 14:11..
|
|
|

21.03.2009, 14:16
|
|
Новичок
Регистрация: 08.11.2008
Сообщений: 9
Провел на форуме: 28743
Репутация:
-5
|
|
Такое задание (язык Cи, не С++)
Дан массив структур. Структура содержит элементы: имя, пол, рост, группа. Написать программу, которая вводит информацию о каждом студенте. Определить, есть ли в группе хотя бы 2 человека одного роста.
Моих скудных знаний хватило на такой код, который по идее должен работать, но на практике висит:
Код:
#include <stdio.h>
#include <conio.h>
void main ()
{
int i=0;
int Enter = 13;
int num=0;
int x=0;
int u;
int f;
int mas[10][10];
int bl[10]
clrscr();
struct spisok
{
char imya [10];
char pol ;
int rost ;
int group ;
}group[10];
while (num<10)
{
printf ("\nvvedite imya\n");
while (i<10)
{
group[num].imya [i] = getch();
if (group[num].imya [i] == Enter) break;
printf ("%c", group[num].imya [i]);
i++;
}
while (i<10)
{
group[num].imya[i] = 0;
i++;
}
i=0;
u=0;
printf("\nVVedite rost\n");
scanf ("%d",&group[num].rost); fflush (stdin);
printf("\nVVedite gruppy\n");
scanf ("%d",&group[num].group); fflush (stdin);
printf ("vvedite pol M/J\n");
group[num].pol = getch();
printf ("%c",group[num].pol);
printf ("\nsledyshii student\n");
x= getch();
if (x=='n') break;
num++;
}
i=0;
u=0;
while (i<10)
{
f=group[i].group;
if (mas[f][u]!=0) {u++;continue;}
mas[f][u]=group[i].rost;
i++;
u=0;
}
f=0;
while (f<10)
{
while(i<10)
{
while (u<10)
{
if (i==u) u++;
if (mas[f][i]==mas[f][u]) bl[i]++;
u++;
}
i++;
}
f++;
}
i=0;
while (i<10)
{
if (bl[i]==0) i++;
continue;
printf ("v gruppe %d %d chelovek odinakovogo rosta",i,bl[i]);
}
}
Помогите, пожалуйста, довести прогу до ума.. Учеба вся неплохо идет, кроме проги..
|
|
|

21.03.2009, 14:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
velvetdust
Код:
while (i<10)
{
if (bl[i]==0) i++;
continue;
printf ("v gruppe %d %d chelovek odinakovogo rosta",i,bl[i]);
}
Цикл бесконечный получается, если десять раз подряд в массиве bl не будут нули
|
|
|

21.03.2009, 18:48
|
|
Познающий
Регистрация: 20.07.2007
Сообщений: 99
Провел на форуме: 1562993
Репутация:
25
|
|
VirtualAlloc
Есть структура моя их на страницу виртуальной памяти 128 штук умещается код какбы рабочий но одно но когда в функции add условие идет на 2 ветку, где при заполнении страници нужно выделить новую страницу, она невыделяется посмотрите что нетак. Там скорее всего lpPtr+=dwPageSize; вроде все как мсдн даже написал а первый параметр в вирт аллок выходит что неправельный%( я непому почему что нетак...
Код:
#include <windows.h>
#include <stdio.h> // for printf
#include <stdlib.h> // for exit
#include <conio.h>
#include <string.h>
#include <iostream.h>
#define PAGELIMIT 80 // ask for this many pages
LPTSTR lpNxtPage; // address of the next page to ask for
DWORD dwPages = 1; // count of pages gotten so far
DWORD count=0;
DWORD count2=0;
DWORD dwPageSize;
LPVOID lpvBase;
DWORD lpPtr;
struct list {
char dt[20];
int x;
int y;
int v;
};
list * arr;
void add(int val1, int val2,int val3, char *val4){
if(((count2+1)%128)!=0){
strcpy(arr[count].dt, val4);
arr[count].x= val1;
arr[count].y= val2;
arr[count].v= val3;
count++;
count2++;
printf ("On saime page # %d.\n", dwPages);
}else{
lpPtr+=dwPageSize;
arr=(list*)VirtualAlloc((LPVOID)lpPtr,dwPageSize,MEM_COMMIT,PAGE_READWRITE);
if (arr == NULL ){
printf("VirtualAlloc failed\n");
} else {
printf ("Allocating another page.\n");
};
strcpy(arr[count].dt, val4);
arr[count].x= val1;
arr[count].y= val2;
arr[count].v= val3;
dwPages++;
count++;
count2=0;
printf ("On new page ¹ %d.\n", dwPages);
}
};
int main(int argc, char *argv[])
{
SYSTEM_INFO sSysInfo;
GetSystemInfo(&sSysInfo); // initialize the structure
printf ("This computer has page size %d.\n", sSysInfo.dwPageSize);
printf ("size of struct %d.\n", sizeof(list));
dwPageSize = sSysInfo.dwPageSize;
arr=(list*)VirtualAlloc(NULL,PAGELIMIT*dwPageSize,MEM_RESERVE,PAGE_READWRITE);
arr=(list*)VirtualAlloc(NULL,dwPageSize,MEM_COMMIT,PAGE_READWRITE);
lpPtr=(DWORD)arr;
printf("vvedite znachenie, stroku, stolbec, tip\n");
int a,b,c;
char tipp[20];
cin>>a>>b>>c>>tipp;
for (int f=0; f<130; f++){
add(a,b,c,tipp);
};
cout<<arr[130].x<<arr[130].y<<arr[130].v<<arr[130].dt;
system("PAUSE");
return 0;
}
|
|
|

21.03.2009, 23:41
|
|
Новичок
Регистрация: 06.12.2008
Сообщений: 1
Провел на форуме: 44939
Репутация:
0
|
|
Помогите, пожалуйста, с задачкой.
Взята она с сайта с олимпиадными задачами https://www.spoj.pl/problems/MRECAMAN/
Суть её следующая.
Последовательность Recaman-а определена так:
a0 = 0
Для m, больших 0:
a(m) = a(m-1) - m, если эта разность больше нуля и её до этого момента в последовательности не было;
a(m) = a(m-1) + m, иначе.
Вот первые несколько членов последовательности:
0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9...
Задание состоит в том, чтобы по введённому порядковому номеру k вывести k-ый член последовательности.
Вообще, эту задачу мне нужно сдать на Хашкеле, но пока что я хочу сдать её на другом языке, который я знаю чуть получше (ruby, C). И возникла проблема с придумыванием алгоритма, поскольку решение в лоб (в смысле, просто переписать рекуррентное соотношение, ну и добавить поиск по массиву для проверки, встречалось ли число в последовательности ) не годится для больших k (0 <= k <= 500000). Буду очень признателен, если подскажете эффективное решение данной задачи. 
Последний раз редактировалось _Spy_; 22.03.2009 в 11:09..
|
|
|

22.03.2009, 09:57
|
|
Участник форума
Регистрация: 05.09.2007
Сообщений: 151
Провел на форуме: 1327895
Репутация:
67
|
|
Сообщение от Alekzzzander
на турбопаскале....помогите написать пару задачек
Код:
Пpогpамма. Дана непустая оследовательность слов из стpоч- ных pусских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном поpядке все звонкие согласные буквы, котоpые входят более чем в одно слово.
вторая задачка
Код:
Даны два предложения, состоящие не менее чем из 5 слов. Слова каждого предложения заменить на совпадающие с ними по длине слова из другого предложения (Заменять на соот- ветствующие по счёту слова - например, второе слово пер- вого предложения из 5 букв заменить на второе встретив- шееся слово из 5 букв во втором).
и последняя
Код:
type строка=array [1..16] of char; дата=record число:1..31; месяц:1..12; год:1900..1979 end; анкета=record фамилия:строка; пол:(муж, жен); деньрожд:дата end; группа=array [1..25] of анкета; Описать процедуру печ (Гр,Бук), печатающую все фамилии лю- дей из группы Гр, начинающиеся с литературы Бук, и даты рождения этих людей.
помогите пожалуйста
|
|
|

22.03.2009, 11:12
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Массивы
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|