Member
Статус: Не в сети Регистрация: 10.11.2002 Откуда: Питер
Народ! Помогите плз!!!
Есть программа, ее требуется изменить определенным образом, точнее изменить классы одни на другие!! Люди! Кто может помочь пожалуйста пишите мыло:
u_nikolai@mail.ru 328521@bk.ru ICQ 508989
1) У меня есть папка "c:\\papka", в ней лежат "cheker.cpp" и "a.in".
"cheker.cpp" - мой рабочий файл (он читает данные из "a.in").
у меня такая проблема:
Код:
int n; FILE *in; in=fopen("a.in","r"); fscanf(in,"%i",n);
- ничего не читается. А вот если я пишу так :
Код:
int n; FILE *in; in=fopen("c:\\papka\\a.in","r"); fscanf(in,"%i",n);
- все работает читается. думаю в чем проблема. читаю Compile->Information: " Current File : c:\\borlandc\\bin\\". пробую изменить, не получается. Как мне сделать так, что первый вариант кода заработал??
2) Можно ли создать массив (например int a[200][200]) и всем ячейкам сразу присвоить одно и тоже значение??
3) Я увидел код следующего содержания:
Код:
#include <stdio.h> #include <stdlib.h>
#define NN 200
const int dx[8] = {0,0,-1,-1,-1,1,1,1}; const int dy[8] = {-1,1,-1,0,1,-1,0,1};
FILE *fi, *fo; int n,m,k; char map[NN][NN]; int a[NN][NN]; ...
Но у меня выскакивает error: Array size too large. В чем дело?
4) У меня есть некая прога:
Код:
#include <stdio.h> #define NN 170 int pole[NN][NN]; int x,y,m,x1,y1; FILE *in, *out;
int main() { for(int a=0,b;a<=NN-1;a++) { for(b=0;b<=NN-1;b++) { pole[a][b]=0; }; }; in=fopen("b.in","r"); fscanf(in,"%i %i %i",&y,&x,&m); for(int t1,t2,n=1;n<=m;n++) { fscanf(in,"\n%i %i",&y1, &x1); pole[x1][y1]=-1; for(t1=x1-1;t1<=x1+1;t1++) { for(t2=y1-1;t2<=y1+1;t2++) { if(pole[t1][t2]!=-1) pole[t1][t2]++; }; }; }; fclose(in); out=fopen("b.out","w"); for(int rr,r=1;r<=y;r++) { for(rr=1;rr<=x;rr++) { switch(pole[rr][r]) { case -1 : fprintf(out,"*"); break; case 0 : fprintf(out,"."); break; case 1 : fprintf(out,"1"); break; case 2 : fprintf(out,"2"); break; case 3 : fprintf(out,"3"); break; case 4 : fprintf(out,"4"); break; case 5 : fprintf(out,"5"); break; case 6 : fprintf(out,"6"); break; case 7 : fprintf(out,"7"); break; case 8 : fprintf(out,"8"); break; }; }; if(r<y) fprintf(out,"\n"); }; fclose(out); return 0; };
После создания (exe) - она весит 72кб, а мне необходимо, чтобы она весила 64кб. как это сделать?
Member
Статус: Не в сети Регистрация: 15.08.2003 Откуда: Санкт-Петербург
У меня возник следующий вопрос по c++.
Пишу две небольших программки - сервер и клиент. Клиент передаёт серверу исполняемый файл, а сервер его запускает.
На с++, да и вообще на "с" я до этого не писал, так что с ходу столкнулся со следующей проблемой:
я открываю файл (клиент) при помощи fopen, затем пытаюсь переопределить буфер при помоши setbuf
Код:
FILE f; char file_buf[BUFSIZ]; setbuf(f,file_buf); //ofstream fout(&buff[20]); if (( fopen(&buff[20],"r")) == NULL) { printf("Can't open file :(\n");
} send(my_sock,file_buf,sizeof(file_buf),0);
так вот, программа вылетает с ошибкой в setbuf. Пробовал создать поток для файла строчкой //ofstream fout(&buff[20]);//, так тут вообще непонятно как буф. переопределить. Буф. мне нужен как параметр в send.
Подскажите где я ошибаюсь или же, если всё это в корне не правильно, то, как надо это делать
Member
Статус: Не в сети Регистрация: 14.03.2004 Откуда: Москва
The setbuf function controls buffering for stream. The stream argument must refer to an open file that has not been read or written. If the buffer argument is NULL, the stream is unbuffered. If not, the buffer must point to a character array of length BUFSIZ, where BUFSIZ is the buffer size as defined in STDIO.H. The user-specified buffer, instead of the default system-allocated buffer for the given stream, is used for I/O buffering. The stderr stream is unbuffered by default, but you can use setbuf to assign buffers to stderr.
ясно?
_________________ ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо
Собственно говоря, вместо строк красного цвета нужно поместить функцию "GlobalMemoryStatus()" и показать объём свободной физической памяти...
Ну не понимаю я по этой грёбаной справке, как с этой функцией работать!!!
Ну, и маленький вопросик, как нарисовать треугольник с помощью функции "Polygon". Элипс, к примеру, понятно - Elipse(100,100,200,200). <_<
Пожалуйста помогите...
_________________ AMD 3900X, Windows 10, 32gb RAM, Zotac 1080Ti AMP!
Member
Статус: Не в сети Регистрация: 10.03.2004 Откуда: Минск
Grolmag Polygon принимает массив POINT из трех элементов(вершины треугольника) в качесвте параметра, ну и HDC конечно.
PS А вообще-то MSDN читать нужно. там же все на понятном яхыке написано...
Хочу сбацать тестовую прогу для своего "нового" 486DX2
Типа superpi и какой-нить бечмарк написать для него.
Опыт по программированию 3 года.
Нужно знать как одбращаться напрямую к железу.
И можно ли разогнать как-нить видюху или проц. программно
Спасибо
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Tranzistor Можно. Где то были готовые компоненты, но там все не ахти если тебе надо почти как "real time". Лучше напиши .dll на обычном Си, а в программе ее используй. У меня так друган сделал, когда писал прогу для весов (где грузовики взвешивают) и для трех видеокамер одновременно.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения