[a / aa / ad / au / b / bg / bo / c / d / dg / di / ew / f / fa / fd / fg / fi / fl / g / gg / h / ho / hr / ja / k / ls / m / ma / me / mo / mu / n / ne / o / p / pa / ph / pr / r / re / s / sp / t / td / tr / tv / u / vg / w / wh / wm / wp / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1244078756975.jpg -(52кб, 150x150) Показана уменьшенная копия, оригинал по клику.
52 №526  

здравствуй я тупой долбаеб, сессия на носу.
нужно решить оддну контрольную по си. выручай зодрот-си-кун.
1. Элемент односвязного списка содержит N указателей на строки. Функция читает файл и заполняет структуру данных указателями на прочитанные строки (список и строки размещаются в динамической памяти).

>> №527  

харошай задача,
тока скажи в каком порядке заполнять структуру?

>> №528  

а какие порядки бывают?главное чтобы функции неизвестные не использовались.
1курс-кун

>> №530  

Зашел на Двач ты
Хотел задач готовых
Сосни-ка хуйца

>> №531  

>>530
не нужно со мной так разговаривать

>> №532  

>>527

Конечно же в обратном-неебаться-хузнает-каком.

>> №537  

heeeeeelp

>> №552  

>>526
пиздец, нихуя не ясно.
struct element {
char *line1;
char *line2;
char *line3;
char *line4;
element *next;
};

типо того? и чё делать, читать до EOF строки из файла и добавлять в список элемент, по 4 строки на элемент?

>> №555  

как же ты заебал!
задаешь N
в файле дохуища строк (> N)
заполнил все указатели - создаешь новый элемент списка.
блядь.

#include <stdio.h>
#include <string.h>
#include <malloc.h>

#define sptr sizeof(char*)

int main() {
char ** eblo, ** mudak, * xyilo;
long N, i;
FILE *f = fopen("dynspi.c","rt");
if (!f) {
printf("Соси хуй былдо\n");
return -1;
}
printf("N = ");
scanf("%u",&N);
eblo = malloc((N+1)*sptr); //память под указатель на пердыдущий список + строки
*eblo = NULL; //этот первый - предыдущего не было
i = 1;
if (N < 1) {
printf("Ололо, ты быдло и хуйло");
return -1;
}
while (1) {
if (i>N) {
i = 1;
mudak = malloc((N+1)*sptr);
*mudak = (char*)eblo;
eblo = mudak;
printf("DICKS EVERYWHERE DICKS EVERYWHERE DICKS EVERYWHERE DICKS EVERYWHERE\n");
}
xyilo = malloc(256);
eblo[i] = xyilo;
memset(xyilo,0,256);
if (fgets(xyilo,255,f) == NULL) break;
while (*xyilo != '\n') ++xyilo;
*xyilo = 0;
++i;
}
fclose(f);
while (1) {
--i;
if (i == 0) {
mudak = (char**)*eblo;
free(eblo);
eblo = mudak;
i = N;
if (eblo == NULL) break;
}
printf("%s\n",eblo[i]);
}
return 0;
}
>> №558  

>>555
мудак, я не ОП.
>>552 -кун

>> №565  

>>555
а вот теперь начнем тролить.

	xyilo = malloc(256);
eblo[i] = xyilo;
memset(xyilo,0,256);
if (fgets(xyilo,255,f) == NULL) break;
while (*xyilo != '\n') ++xyilo;

какого хуя каждая трока занимает в памяти по 256 бийт?
какого хуй строки длинее 256 байт не поддерживаются?
более того будет краш если попадется строка длинее 256

я прозреал чтоб удет много быдлокода, но ,блять, не до такой же степени?

>> №566  

>>565
допиши сам, вафел.

>> №567  

>>566
зачем ему.он не оп.
ОП

>> №568  

3 errors

>> №569  

>>568

>3 errors

при компиляции? не может быть такого. все работает в mingw, watcom и bcc32.

>> №570  

>>569
да при компиляции, это же с++ ?

>> №571  

ну ты и мудак... это обычный C! GCC!
Если так хочется с кампелировать в месте, то добавь перед malloc-ами определения типов

eblo = (char**)malloc((N+1)*sptr);
mudak = (char**)malloc((N+1)*sptr);
xyilo = (char*)malloc(256);

стандарт C++ не поддерживает выделение памяти неизвестно под что.

>> №572  

>>571
я все равно нихуя не понимаю.
мне нужно готовенькое :3 на с++

>> №573  

слишком толсто, Андрей

>> №574  

>>572 вот те на С++
алсо трабл с чтением строки овер столькото байт не фиксил, я ебал ещё и блинны строк в файле считать

#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
#define INPLENGTH 1024
int main( ) {
fstream fh( "govno.txt", ios::in );
if (fh.fail( )) {
cerr << "super cool story bro";
_getch( );
return 1;
}
	int n = 0;
cout << "N == ";
cin >> n;
if (n < 1) {
cerr << "super cool story bro";
_getch( );
return 1;
}
	void * PtrHead = NULL;
while (!fh.eof( )) {
char ** newEl = new char * [ ( n + 1 ) * sizeof( char * ) ];
for (int i = 0; i < n; i++) {
char * inpBuf = new char [ 1024 ];
fh.getline( inpBuf, INPLENGTH, '\n');
if(fh.good( )) {
newEl[ i ] = inpBuf;
} else {
newEl[ i ] = NULL;
delete[ ] inpBuf;
}
}
newEl[ n ] = ( char * ) PtrHead;
PtrHead = ( void * ) newEl;
}
fh.close( );
	char ** tmp = ( char ** ) PtrHead;
while (tmp != NULL) {
for (int i = 0; i < n; i++) {
if (tmp[ i ] != NULL)
cout << tmp[ i ] << endl;
}
tmp = ( char ** ) tmp[ n ];
cout << endl;
}
_getch( );
return 0;
}
>> №580  

>>574
char * inpBuf = new char [ 1024 ];
---
вощем вы все неиспровимое наследственное дебилье
вас к небыдлокодингу допускать нельзя

>> №581  

>>580
тролль такой тролль
что, по твоему, побайтово читать до первого перевода каретки и, получив длинну, выделить память, откатится, и прочитать в выделеный буфер строку?

если нет, то код в студию, иначе пиздуй отседа, ссаное школиё

>> №582  

так надо делать:
1.вариант
делаеш буфер в который точно влезит 1а строка
(если не влезла ошибку выдаеш)
читаеш в не строку, узнаеш лдинну, выделяш память, копируеш
2.вариант (правильный)
выделяш норально так памяти (64кб)
заполняеш ее строками и структурами,
как кончилась, выделяи ище стокаже.
в некоторых операционках можно менять размер уже выделеной памяти
3й вариант, 2х проходный
1й проход- расчет того сока нужна памяти
2й проход- выделение и заполнение

>> №583  
Файл: 1244328692112.jpg -(22кб, 400x280) Показана уменьшенная копия, оригинал по клику.
22

>>582

> читаеш в не строку

cool story, код в студию

> выделяш норально так памяти (64кб)

читаеш 3 байта и пиздец. или ты ещё и проверку + урезание делать будеш?

> в некоторых операционках можно менять размер уже выделеной памяти

в любых можно. я больше скажу, реализация функций типа realloc это банальный запрос памяти, копирование старого буфера в новый и освобождение памяти под старый буфер

> 3й вариант

собсно описал в >>581

всю эту ботву надо реализовывать уже не строковым чтением, а побайтовым или поблочным, а ты бы, вместо алгоритмы рассписывать, лучше бы код наваял. теоретиков нам тут не надо, на практике такого говна, типа "прочитать строку в хуй знает сколько байт" не бывает, на всё вносят ограничение

>> №584  

Строка длиннее 255 байт - не строка, а хуй собачий. В следующий буфер запишется продолжение - и будь доволен. Для особо тупых можно сделать проверку, кончается ли она переводом строки. Если кончается то заебись. А если не кончается, то соси хуи и жди продолжения в следующем буфере.
Ни для одной задачи не требуется чоткава выделения 277 байт. Можно обойтись 255 и 22-байтным буферами. Даже флаг дополнительный заводить не придется.

>> №585  

txt не создается, в чем смысл тогда?

>> №586  

его самому нужно создать!
а вот что потом?

>> №587  

вощем вы все неиспровимое наследственное дебилье
вас к небыдлокодингу допускать нельзя
---
вот нормальный пост:
>>582
для тупых "читаеш в не строку"="читаеш в нее строку"
---
каталог-кун

>> №588  

>>587
сделай?а?

>> №590  

>>587
вобщем ты хуй, твоя мать - шлюха, твой отец - трап
алсо семён в треде

>> №596  

>>526
Надеюсь, тебя выпрут из инс-та. С такими долбаёбами я, в будущем, не хочу работать.
Задача простейшая.

>> №599  

>>596

>С такими долбаёбами я, в будущем, не хочу работать

похуй, будишь
твой будующий колега, О.П. Рак

>> №600  

>>599
иди на хуй шлюха
>>596
где-то я слышал это уже.

>> №606  

>>599
Ну если только Анальной Шлюхой.

>> №618  

кто мне там написал этот код? мой препод забанил его. спрсоил что же за мудак его написал?

>> №623  
Файл: 1244491619772.jpg -(26кб, 704x480) Показана уменьшенная копия, оригинал по клику.
26

>>618

> мой препод забанил его

и ты, и твои родители, и твой препод сосите мой прогерский хуй

>> №630  

преподы читают 2ч,
такшо решение несовподающее с мнением 2ч
не пройдет!

>> №633  

>>623
трололо

>> №642  

>>618
на C++? не я. я на C писал.

алсо, дай контакт препода. я ему позвоню/напишу и скажу, что он сам мудак и сосёт хуи забесплатно.

>> №643  

а еще я скажу, что ебал его маму жируху в ее разьебанную пиздищу, ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал ебал и потом появился он.

>> №645  

>>642
89139886656



Удалить пост []
Пароль
[a / aa / ad / au / b / bg / bo / c / d / dg / di / ew / f / fa / fd / fg / fi / fl / g / gg / h / ho / hr / ja / k / ls / m / ma / me / mo / mu / n / ne / o / p / pa / ph / pr / r / re / s / sp / t / td / tr / tv / u / vg / w / wh / wm / wp / y] - [Главная]