ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2631  
Старый 03.04.2010, 01:08
Аватар для warkk
warkk
Участник форума
Регистрация: 20.02.2009
Сообщений: 183
Провел на форуме:
719582

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

первая, проверяет вводимые числа на четность, если число не четное, ломает цикл.

Код:
program ddd;
uses crt;
var i,n,sum,t:integer;
begin clrscr;
write('Vvedite kol-vo: ');
read(n);
for i:=1 to n do
    begin
        write('Vvedite 4islo nomer ',i,': ');
        readln(t);
        if odd(t)=false then
           sum:=sum+t
        else
            begin
                 writeln('4islo ',t,' ne 4etnoe');
                 break;
            end;
    end;
writeln('Suma 4isel = ',sum);
readkey
end.

Последний раз редактировалось warkk; 03.04.2010 в 01:15..
 
Ответить с цитированием

  #2632  
Старый 03.04.2010, 20:59
Аватар для Lewis Carroll
Lewis Carroll
Познающий
Регистрация: 28.02.2010
Сообщений: 35
Провел на форуме:
41688

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

Задача следующего плана:

составить программу, сравнивающую три вида сортировок (любые сортировки т.е. быстрая, пузырьком и т. д. все годятся) и выдающую в результате сколько времени было затрачено на сортировку массива данных. (желательный размер массива ~100 кб, чтобы разница во времени была очевидной)

язык C/C++

заранее благодарен.
 
Ответить с цитированием

  #2633  
Старый 03.04.2010, 23:04
Аватар для sveta11115
sveta11115
Новичок
Регистрация: 20.03.2010
Сообщений: 8
Провел на форуме:
19465

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

Помогите, пожалуйста, написать программу на С++:
Используя структурный тип данных, создать базу данных для обработки информации о студентах: фамилия, год рождения, факультет, группа, статус поступления.
и организовать с ней работу, включая поиск нужной информации, ее корректировку (изменение значений полей структур, дозапись информации в файл или ее удаление), вывод информации на экран.
Программа должна содержать меню, позволяющее работать с базой данных.
Спасибо
 
Ответить с цитированием

  #2634  
Старый 03.04.2010, 23:30
Аватар для xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Познающий
Регистрация: 20.01.2008
Сообщений: 65
Провел на форуме:
664107

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

Цитата:
Сообщение от sveta11115  
Помогите, пожалуйста, написать программу
Программа должна содержать меню, позволяющее работать с базой данных.
Спасибо
у меня есть приблизительно 500 строк кода, почему то сюда не полезли если очень надо пишите в асю или в лс

Последний раз редактировалось xxxxxxxxxxxxxxx; 03.04.2010 в 23:35..
 
Ответить с цитированием

  #2635  
Старый 04.04.2010, 11:22
Аватар для comichero92
comichero92
Новичок
Регистрация: 29.03.2010
Сообщений: 6
Провел на форуме:
61723

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

Цитата:
Сообщение от Lewis Carroll  
Задача следующего плана:

составить программу, сравнивающую три вида сортировок (любые сортировки т.е. быстрая, пузырьком и т. д. все годятся) и выдающую в результате сколько времени было затрачено на сортировку массива данных. (желательный размер массива ~100 кб, чтобы разница во времени была очевидной)

язык C/C++

заранее благодарен.
хм... наверно что-то такое
Код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

void bubble(char *items, int count);
void shaker(char *items, int count);
void shell(char *items, int count);

int main(void)
{
	FILE *fp;
	FILE *s1;
	FILE *s2;
	FILE *s3;
	char s[255];
	time_t start, end;
	volatile long unsigned t;

	printf("read file");

	if((fp = fopen("mass.txt", "r")) == NULL) {
		printf(" : error.\n");
		exit(1);
	}

	printf(" : ok.\n\n");

	while(!feof(fp)) {
		fgets(s, 253, fp);
	}

	start = time(NULL);
	bubble(s, strlen(s));
	end = time(NULL);
	s1 = fopen("bubble.txt", "w");
	fputs(s, s1);
	printf("Bubble sort : ok.\n");
	printf("time: %f s.\n\n", difftime(end, start));

	start = time(NULL);
	shaker(s, strlen(s));
	end = time(NULL);
	s2 = fopen("shaker.txt", "w");
	fputs(s, s2);
	printf("Cocktail shaker sort : ok.\n");
	printf("time: %f s.\n\n", difftime(end, start));

	start = time(NULL);
	shaker(s, strlen(s));
	end = time(NULL);
	s3 = fopen("shell.txt", "w");
	fputs(s, s3);
	printf("Donald Lewis Shell sort : ok.\n");
	printf("time: %f s.\n\n", difftime(end, start));

	fclose(fp);
	fclose(s1);
	fclose(s2);
	fclose(s3);
	return 0;
}

// bubble sort
void bubble(char *items, int count)
{
	register int a, b;
	register char t;

	for(a = 1; a < count; ++a)
		for(b = count-1; b >= a; --b) {
			if(items[b-1] > items[b]) {
				t = items[b-1];
				items[b-1] = items[b];
				items[b] = t;
			}
		}
}

// cocktail shaker sort
void shaker(char *items, int count)
{
	register int a;
	int exchange;
	char t;

	do{
		exchange = 0;
		for(a = count-1; a >0; --a) {
			if(items[a-1] > items[a]) {
				t = items[a-1];
				items[a-1] = items[a];
				items[a] = t;
				exchange = 1;
			}
		}

		for(a = 1; a < count; ++a) {
			if(items[a-1] > items[a]) {
				t = items[a-1];
				items[a-1] = items[a];
				items[a] = t;
				exchange = 1;
			}
		}
	} while(exchange);
}

// Donald Lewis Shell sort
void shell(char *items, int count)
{
	register int i, j, gap, k;
	char x, a[5];

	a[0] = 9; a[1] = 5; a[2] = 3; a[3] = 2; a[4] = 1;

	for(k = 0; k < 5; k++) {
		gap = a[k];
		for(i = gap; i < count; ++i) {
			x = items[i];
			for(j=i-gap; (x < items[j]) && (j >= 0); j = j-gap)
				items[j+gap] = items[j];
			items[j+gap] = x;
		}
	}
}
p.s. размер сортируемых данных думаю сам изменишь
 
Ответить с цитированием

  #2636  
Старый 04.04.2010, 13:04
Аватар для Lewis Carroll
Lewis Carroll
Познающий
Регистрация: 28.02.2010
Сообщений: 35
Провел на форуме:
41688

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

Большое спасибо )) а как работать с сортируемыми файлами? создать соответствующие файлы (bubble.txt shaker.txt shell.txt) заполненные данными?

Последний раз редактировалось Lewis Carroll; 04.04.2010 в 13:38..
 
Ответить с цитированием

  #2637  
Старый 04.04.2010, 14:52
Аватар для comichero92
comichero92
Новичок
Регистрация: 29.03.2010
Сообщений: 6
Провел на форуме:
61723

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

создать файл mass.txt, в нем то что будем сортировать, файлы bubble.txt, shell.txt и shaker.txt сами создадутся и в них будут отсортированные данные
 
Ответить с цитированием

  #2638  
Старый 04.04.2010, 15:00
Аватар для Lewis Carroll
Lewis Carroll
Познающий
Регистрация: 28.02.2010
Сообщений: 35
Провел на форуме:
41688

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

Цитата:
Сообщение от comichero92  
хм... наверно что-то такое
Код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

void bubble(char *items, int count);
void shaker(char *items, int count);
void shell(char *items, int count);

int main(void)
{
	FILE *fp;
	FILE *s1;
	FILE *s2;
	FILE *s3;
	char s[255];
	time_t start, end;
	volatile long unsigned t;

	printf("read file");

	if((fp = fopen("mass.txt", "r")) == NULL) {
		printf(" : error.\n");
		exit(1);
	}

	printf(" : ok.\n\n");

	while(!feof(fp)) {
		fgets(s, 253, fp);
	}

	start = time(NULL);
	bubble(s, strlen(s));
	end = time(NULL);
	s1 = fopen("bubble.txt", "w");
	fputs(s, s1);
	printf("Bubble sort : ok.\n");
	printf("time: %f s.\n\n", difftime(end, start));

	start = time(NULL);
	shaker(s, strlen(s));
	end = time(NULL);
	s2 = fopen("shaker.txt", "w");
	fputs(s, s2);
	printf("Cocktail shaker sort : ok.\n");
	printf("time: %f s.\n\n", difftime(end, start));

	start = time(NULL);
	shaker(s, strlen(s));
	end = time(NULL);
	s3 = fopen("shell.txt", "w");
	fputs(s, s3);
	printf("Donald Lewis Shell sort : ok.\n");
	printf("time: %f s.\n\n", difftime(end, start));

	fclose(fp);
	fclose(s1);
	fclose(s2);
	fclose(s3);
	return 0;
}

// bubble sort
void bubble(char *items, int count)
{
	register int a, b;
	register char t;

	for(a = 1; a < count; ++a)
		for(b = count-1; b >= a; --b) {
			if(items[b-1] > items[b]) {
				t = items[b-1];
				items[b-1] = items[b];
				items[b] = t;
			}
		}
}

// cocktail shaker sort
void shaker(char *items, int count)
{
	register int a;
	int exchange;
	char t;

	do{
		exchange = 0;
		for(a = count-1; a >0; --a) {
			if(items[a-1] > items[a]) {
				t = items[a-1];
				items[a-1] = items[a];
				items[a] = t;
				exchange = 1;
			}
		}

		for(a = 1; a < count; ++a) {
			if(items[a-1] > items[a]) {
				t = items[a-1];
				items[a-1] = items[a];
				items[a] = t;
				exchange = 1;
			}
		}
	} while(exchange);
}

// Donald Lewis Shell sort
void shell(char *items, int count)
{
	register int i, j, gap, k;
	char x, a[5];

	a[0] = 9; a[1] = 5; a[2] = 3; a[3] = 2; a[4] = 1;

	for(k = 0; k < 5; k++) {
		gap = a[k];
		for(i = gap; i < count; ++i) {
			x = items[i];
			for(j=i-gap; (x < items[j]) && (j >= 0); j = j-gap)
				items[j+gap] = items[j];
			items[j+gap] = x;
		}
	}
}
p.s. размер сортируемых данных думаю сам изменишь



а вторая сортировка это какая ?
первая - пузырек, третья - Шелла.. а вторая - ?..)
 
Ответить с цитированием

  #2639  
Старый 04.04.2010, 15:21
Аватар для comichero92
comichero92
Новичок
Регистрация: 29.03.2010
Сообщений: 6
Провел на форуме:
61723

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

шейкер сортировка(shaker sort), модифицированная пузырьковая
 
Ответить с цитированием

  #2640  
Старый 04.04.2010, 17:35
Аватар для Lewis Carroll
Lewis Carroll
Познающий
Регистрация: 28.02.2010
Сообщений: 35
Провел на форуме:
41688

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

А можно ли как то реализовать такую фичу, чтобы на основании затраченного времени строилась гистограмма для каждой сортировки?
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ