-
Постов
39 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Галерея
События
Сообщения, опубликованные Gennadiusisus
-
-
Добрый день. У вас случайно разбитого HTC One S не имеется?
-
http://e-maxx.ru/algo/
вот если понимаешь найдёшь алгоритм, поменяешь маленько )
1)Сначала же нам нужно дойти до С, вопрос - можно ли идя до С пройти через В, и потом по другим дорогам вернутся в В ?
Или дошли до С, потом через А дошли до В
Если нет, то это вроде простой поиск в глубину(в ширину), до В, с хранением дополнительной метки, заходили ли мы в С - полный перебор )
2)какие ограничения на задачу - количество рёбер, вершин ?
3)И конечно в мире существует только один язык программирования ))
Где такие задачи задают ? И много ли ?
Каждую дорогу можно проехать один раз, то есть, если есть несколько путей из "А" в "С", то нужно выбрать тот, который не препятствовал бы дальнейшему переходу в "В"
Ограничений больше нету...вроде...=)
Пишу на С++
У первочей в техноложке курсачи такие...не удержался что бы не попробовать запрогать =)
Добавлено спустя 24 минуты 21 секунду:
1)Предполагаю что в одну вершину могут вести как входящие в город так и выходящие из него) так что в каком то случае возможен вариант возвращения в города по нескольку раз2) представляю облом если будет миллион вершин и изолированный город B, а бедная программулька все будет искать и искать))
3)assembler гг
Хорошие задачки)) мозги так и радуются))
ассемблер зло, фу фу фу...=]
а задачка и правда интересная =) и готовых алгоритмов под нее нету (не нашел по крайней мере)
-
Помогите алгоритмизировать задачу! Нужно написать программу способную определить, можно ли в заданной системе односторонних дорог проехать из города А в город В таким образом, чтобы посетить город С и не проезжать никакой дороги более одного раза.
Заранее спасибо =)
-
Приходите на встречу сегодня (16.10.2011) (Воскресенье) в 17:00!!!
Встреча состоится на спортивной площадке колледжа №12 (что расположен возле призывного). Доехать можно на маршрутах 15,17,21,24,25,33,36,37,44,56,57,63,64,70,71,77,90,91,97,100 до остановки Призывной в 43 кв. От остановки сразу будет видно это площадку, она около перекрёстка.
Добавлено спустя 49 секунд:
Hohol1989
бывает(
-
клева)
-
Приходите на встречу 25.09.2011 (Воскресенье) в 17:00!!!
Встреча состоится на спортивной площадке колледжа №12 (что расположен возле призывного). Доехать можно на маршрутах 15,17,21,24,25,33,36,37,44,56,57,63,64,70,71,77,90,91,97,100 до остановки Призывной в 43 кв. От остановки сразу будет видно это площадку, она около перекрёстка.
-
ном...но лучше так, чем не собираться вообще...)
-
ага...зал спасает)))
а так я в обычных перчатках висел)))
-
Alexander Mahone
ага)) клева))
-
это да...будем верить!))
-
Приходите на встречу 04.09.2011 в 17:00!!!
Спортивная площадка колледжа №12 (что расположен возле призывного). Доехать можно на маршрутах 15,17,21,24,25,33,36,37,44,56,57,63,64,70,71,77,90,91,97,100 до остановки Призывной в 43 кв. От остановки сразу будет видно это площадку, она около перекрёстка.
-
Встреча отменяется!
-
раз 15-17 без раскачки))
trohin
молодец! продолжай в том же духе))
Добавлено спустя 31 минуту 12 секунд:
кто нибудь тянет на одной руке? если да, то сколько? =)
-
я приду!! надеюсь будет клева...) приходите все)))))
-
Над всем делиться опытом, да и разговорчивей быть))
Согласен))
Давайте собираться чаще!!)))
-
а зря...было клева)
-
Клева что на 7 перенесли!)) я приду)
-
+100 отжиманий осталось 1850
0 подъемов осталось 1940
-
+100 осталось: 830
-
+80 Осталось: 1000
-
Ооо, работает спасибо большое))
-
ну есть основной цикл, в котором предоставляется выбор действий:
for(;
{printf("для добавления записи нижмите 1\n для поска и вывода последней детали 2\n для поиска и вывода деталей со знаком качества 3\n для вывода всех деталей 4\n для выхода 0\n");
scanf("%i",&i);
switch (i)
{
case 1: add(f);break;
case 2: last(f);break;
case 3: good(f);break;
case 4: disp(f);break;
case 0: exit(0);break;
default: printf("!!Ошибка!!");
};
}
функция записи структуры в файл:
void add(FILE *a){
struct DETAL op;
printf ("\nВведите номер\n");
scanf ("%i", &op.number);
printf ("Введите вес\n");
scanf ("%f", &op.wes);
printf ("Введите цену\n");
scanf ("%f", &op.cost);
printf ("Введите дату производства\n");
scanf ("%i %i %i", &op.data[0], &op.data[1], &op.data[2]);
printf ("Введите статус\n");
scanf ("%i", &op.status);
printf ("Введите объем\n");
scanf ("%i", &op.volume);
fwrite(&op, sizeof(struct DETAL), 1, a);
}
лично моё мнение, что вся проблема со чтением из файла..
-
Мм проблема не в этом( На сколько я знаю между #include и #include "iostream.h" разницы нет...
-
Программа должна записывать структуру и результаты обработки этой структуры, в файлы. Проблема в том, что в результате последняя запись выводится не один раз..
#include
#include
#include "iostream"
struct DETAL{
int number;
float wes;
float cost;
int data[3];
int status;
int volume;
};
void add(FILE *a);
void last(FILE *f);
void vivlast(void);
void good(FILE *f);
void disp(FILE *e);
void main (){
setlocale (0, "");
int i,j;
struct DETAL detal;
FILE *f,*g,*h;
printf("для создания нового файла нажмите 1, для использования готового 2\n");
scanf("%i",&j);
switch(j){
case 1: f=fopen("info.txt","w+");break;
case 2: f=fopen("info.txt","a+");break;
default: printf("!Ошибка!");
};
for(;{
printf("для добавления записи нижмите 1\n для поска и вывода последней детали 2\n для поиска и вывода деталей со знаком качества 3\n для вывода всех деталей 4\n для выхода 0\n");
scanf("%i",&i);
switch (i)
{
case 1: add(f);break;
case 2: last(f);break;
case 3: good(f);break;
case 4: disp(f);break;
case 0: exit(0);break;
default: printf("!!Ошибка!!");
};
}
getch();}
void add(FILE *a){
struct DETAL op;
printf ("\nВведите номер\n");
scanf ("%i", &op.number);
printf ("Введите вес\n");
scanf ("%f", &op.wes);
printf ("Введите цену\n");
scanf ("%f", &op.cost);
printf ("Введите дату производства\n");
scanf ("%i %i %i", &op.data[0], &op.data[1], &op.data[2]);
printf ("Введите статус\n");
scanf ("%i", &op.status);
printf ("Введите объем\n");
scanf ("%i", &op.volume);
fwrite(&op, sizeof(struct DETAL), 1, a);
}
void last(FILE *f){
struct DETAL s,detal;
int max0=0,max1=0,max2=0;
FILE *o;
o=fopen("Last.txt","w+");
rewind(f);
while(!feof(f)){
fread(&detal, sizeof(struct DETAL), 1, f);
if (detal.data[2]>max2)
{
max2=detal.data[2];
max1=detal.data[1];
max0=detal.data[0];
s=detal;
}
else
if (detal.data[2]==max2)
if (detal.data[1]>max1)
{
max1=detal.data[1];
max0=detal.data[0];
s=detal;
}
else if (detal.data[1]==max1)
if(detal.data[0]>max0)
{
max0=detal.data[0];
s=detal;
}
}
printf(" \n \n");
printf ("Номер: %i\n", s.number);
printf ("Обьем: %i\n", s.volume);
printf ("Цена: %f\n", s.cost);
fwrite(&s, sizeof(struct DETAL), 1, o);
fclose(o);
}
/*void vivlast(void){
struct DETAL op;
FILE *d=fopen("Last.txt","r");
fread(&op,sizeof(struct DETAL), 1, d);
printf("Постедняя по дате деталь: \n");
printf ("%i ", op.number);
printf ("%f ", op.wes);
printf ("%f ", op.cost);
printf ("%i %i %i ", op.data[0], op.data[1], op.data[2]);
printf("%i ", op.status);
printf ("%i ", op.volume);
fclose(d);
}*/
void good(FILE *f)
{
struct DETAL detal;
FILE *u=fopen("Good.txt","w+");
rewind(f);
while(!feof(f))
{
fread(&detal, sizeof(struct DETAL), 1, f);
if(detal.status==1)
{
fwrite(&detal, sizeof(struct DETAL), 1, u);
}}
rewind(u);
while(!feof(u)){
fread(&detal, sizeof(struct DETAL), 1, u);
printf("Детали имеющие знак качества: \n");
printf ("%i ", detal.number);
printf("%f ",detal.wes);
printf("%f ", detal.cost);
printf("%i %i %i ", detal.data[0], detal.data[1], detal.data[2]);
printf("%i ", detal.status);
printf("%i ", detal.volume);
printf("\n\n");
}}
void disp(FILE *e){
struct DETAL detal;
rewind(e);
printf("\n");
while(!feof(e)){
fread(&detal, sizeof(struct DETAL), 1, e);
printf("Все имеющиеся детали: \n");
printf ("%i ", detal.number);
printf("%f ",detal.wes);
printf("%f ", detal.cost);
printf("%i %i %i ", detal.data[0], detal.data[1], detal.data[2]);
printf("%i ", detal.status);
printf("%i ", detal.volume);
printf("\n");
}}
Смартфоны с проблемами
в Смартфоны на Android
Опубликовано