HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.06.2009, 13:46
eiti
Познающий
Регистрация: 08.07.2008
Сообщений: 63
Провел на форуме:
180959

Репутация: 14
По умолчанию

Цитата:
Сообщение от Fata1ex  
А вот этого уже полно в гугле, да и msdn никто не отменял (с).
PS Набираешь название функций в гугле и тебе выдается довольно много примеров использования.
да гуглил я эти обрывки программ. сообщи всем знакомым программистам, чтобы к примерам кодов писали комментарии.
 
Ответить с цитированием

  #2  
Старый 09.06.2009, 13:50
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию


Последний раз редактировалось Fata1ex; 09.06.2009 в 13:54..
 
Ответить с цитированием

  #3  
Старый 09.06.2009, 17:11
velvetdust
Новичок
Регистрация: 08.11.2008
Сообщений: 9
Провел на форуме:
28743

Репутация: -5
По умолчанию

Сделайте пожалуйста за вознаграждение 4 лабораторные работы (язык Си, не С++ !!!)

Цитата:
1. Дан массив структур. Структура содержит элементы: имя, пол, рост, группа. Написать программу, которая вводит информацию о каждом студенте. Определить, есть ли в группе хотя бы 2 человека одного роста.

2. Дан текстовый файл. Выяснить, есть ли в строках слова, оканчивающиеся на 'f', и сколько таких слов. В результирующий файл записать количество таких слов и номера строк.

3. В текстовом файл заменить все последовательности идущих подряд пробелов одним пробелом. Новый файл не создавать

4. Дан текстовый файл. Если в командной строке
* не заданы параметры - распечатать все строки, а если
* задана опция -n, распечатать последние N строк
К ним нужно сделать отчеты (примеры выполненных работ и отчеты к ним есть во вложенном архиве)

Связаться со мной:
- id3650997 вКонтакте
velvetdust - собака - яндекс.ру
veletdust2008 - собака - gmail.com

Оплата договорная. Заранее спасибо!

архив - http://dump.ru/file/2872076

P.S. Преподаватель очень строгий, прошу сделать код попроще, не применяя что-то выходящее за рамки первого курса (в архиве есть примеры решений)

Последний раз редактировалось velvetdust; 09.06.2009 в 17:21..
 
Ответить с цитированием

  #4  
Старый 10.06.2009, 14:05
ss88
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме:
298300

Репутация: 128
Отправить сообщение для ss88 с помощью ICQ
По умолчанию

Цитата:
Сообщение от velvetdust  
Сделайте пожалуйста за вознаграждение 4 лабораторные работы (язык Си, не С++ !!!)
Вообще-то хоть на первом курсе нужно чему-то учиться и делать самому, хотя-бы такие вещи. Ну да ладно, может у тебя есть уважительная причина? ))) Вот набросал все четыре задачи, а отчеты к ним делай сам, во всяком случае, этот код намного лучше того, что лежит в так называемых примерах у тебя.

1)
Код:
#include <stdio.h>
#include <stdlib.h>
enum {NAME_LEN_MAX=100,GROUP_NAME_MAX=20};

typedef struct {
	char name[NAME_LEN_MAX];
	char group[GROUP_NAME_MAX];
	int sex;
	int height;
} student;

void fill_student(student * stud);

int main(int argc, char ** argv){
	int stud_count = 0;
	(void)printf("Enter the count of students: ");
	(void)scanf("%d",&stud_count);
	student * students = malloc(stud_count * sizeof(student));
	
	for(int i=0; i < stud_count; i++)
		fill_student(&students[i]);
	for(int i=0; i < stud_count - 1; i++) 
		for(int j=i+1; j < stud_count; j++)
			if(students[i].height == students[j].height) 
				(void)printf("They have equivalent height(%d) %s and %s\n",
				students[i].height,students[i].name,students[j].name);
	exit(EXIT_SUCCESS);
}

void fill_student(student * stud) {
	printf("Enter the name: ");
	scanf("%s",stud->name);
	printf("Enter the group: ");
	scanf("%s",stud->group);
	printf("Enter the sex [0 or 1]: ");
	scanf("%d",&stud->sex);
	printf("Enter the height: ");
	scanf("%d",&stud->height);
}
2)
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

enum{STRING_LEN_MAX=250};

int main(int arg,char ** argv) {
	FILE * fd = fopen("infile.txt","r");
	FILE * out_file = fopen("outfile.txt","w");
	
	char buf[STRING_LEN_MAX];
	int i=1;
	int all_count=0;
	
	(void)fgets(buf,STRING_LEN_MAX,fd);
	while(!feof(fd)){
		int cur_string_count=0;
		for(int j=0; j<strlen(buf)-1;j++)
			if(buf[j]=='f'&&(buf[j+1]==' '||buf[j+1]==','||buf[j+1]=='.'))
				++cur_string_count;
		
		if(buf[strlen(buf)-2]=='f') 
			++cur_string_count;
			
		if(cur_string_count>0)
			(void)fprintf(out_file,"String number %d have %d words\n",i,cur_string_count);
			
		all_count+=cur_string_count;
		++i;
		
		(void)fgets(buf,STRING_LEN_MAX,fd);
	}
	
	(void)fprintf(out_file,"Total: %d\n",all_count);
	
	fclose(fd);
	fclose(out_file);
	exit(EXIT_SUCCESS);
}
3)
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

enum{STRING_COUNT_MAX=100,STRING_LEN_MAX=250};

int main(int argc, char ** argv){
	FILE * infile = fopen("infile.txt","r");
	char * strings[STRING_COUNT_MAX];
	char buf[STRING_LEN_MAX];
	int string_num = 0;
	(void)fgets(buf,STRING_LEN_MAX,infile);
	while(!feof(infile)) {
		strings[string_num]=calloc(STRING_LEN_MAX,sizeof(char));
		for(int i=1,j=0;i<strlen(buf);i++){
			if(buf[i]==' ' && buf[i-1]==' ')
				continue;
			else 
				strings[string_num][j++]=buf[i];
		}
		++string_num;
		(void)fgets(buf,STRING_LEN_MAX,infile);
	}
	fclose(infile);
	infile = fopen("infile.txt","w");
	for(int i=0;i<string_num; i++) 
		(void)fprintf(infile,"%s\n",strings[i]);
	fclose(infile);
	exit(EXIT_SUCCESS);
}
4)
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

enum{STRING_COUNT_MAX=100,STRING_LEN_MAX=250};

int main(int argc, char ** argv) {
	int last_lines=0, string_num=0;
	if(argc == 2) 
		last_lines = atoi(argv[1]);
	FILE * infile = fopen("infile.txt","r");
	
	char buf[STRING_LEN_MAX];
	char * strings[STRING_COUNT_MAX];
	(void)fgets(buf,STRING_LEN_MAX,infile);
	
	while(!feof(infile)){
		
		strings[string_num] = calloc(STRING_LEN_MAX,sizeof(char));
		(void)strcpy(strings[string_num++],buf);
		(void)fgets(buf,STRING_LEN_MAX,infile);
	}
	
	int string_index = 0;
	if(last_lines != 0)
		string_index = string_num - last_lines;
		
	if(string_index < 0) string_index = 0;
	
	for(int i = string_index; i < string_num; i++)
		(void)printf("%s",strings[i]);
		
	fclose(infile);
	exit(EXIT_SUCCESS);
}
Разбирайся, шалопай Удачной сессии ))))
 
Ответить с цитированием

  #5  
Старый 09.06.2009, 17:21
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Хоть бы кто-то перед тем как задать вопрос просматривал тему...все задания однотипные и код уже много раз выкладывался.
 
Ответить с цитированием

  #6  
Старый 10.06.2009, 01:13
ZeroHour
Познающий
Регистрация: 28.08.2005
Сообщений: 30
Провел на форуме:
181219

Репутация: 9
Отправить сообщение для ZeroHour с помощью ICQ
По умолчанию

люди, помогите плиз с реализацией алгоритма Хаффмана на Си

ЗЫ - поиск по теме ничего не дал, а вручную просматривать 156 страниц както накладно )
 
Ответить с цитированием

  #7  
Старый 10.06.2009, 01:30
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

а в гугле поискать?
вот проскроль там вниз.
 
Ответить с цитированием

  #8  
Старый 14.06.2009, 16:21
velvetdust
Новичок
Регистрация: 08.11.2008
Сообщений: 9
Провел на форуме:
28743

Репутация: -5
По умолчанию

Цитата:
Сообщение от ZeroHour  
люди, помогите плиз с реализацией алгоритма Хаффмана на Си

ЗЫ - поиск по теме ничего не дал, а вручную просматривать 156 страниц както накладно )
http://compression.ru/download/sources/huff/mastrukov_huff.rar
http://ishodniki.ru/list/info.php?cat=6&id=1620&show=cpp_arhiv
 
Ответить с цитированием

  #9  
Старый 10.06.2009, 01:42
ZeroHour
Познающий
Регистрация: 28.08.2005
Сообщений: 30
Провел на форуме:
181219

Репутация: 9
Отправить сообщение для ZeroHour с помощью ICQ
По умолчанию

ага, особенно классные строчки

Код:
char *filein;
scanf("%s",filein);
память выделять у нас нынче не модно..

все найденное в гугле или очень уж запутано, или с такими ошибками, что даже страшно компилить)

если бы нашел чтото толковое - не писал бы сюда
 
Ответить с цитированием

  #10  
Старый 10.06.2009, 03:23
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

да да, не стоит благодарности.
кто сказал, что копипастить надо? это тебе пример реализации, а дальше дерзай! или ты думаешь, что тебе сейчас 200 строк нового кода по алгоритму напишут?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ