Форум программистов, компьютерный форум CyberForum.ru

Покрытие множеств - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ книга http://www.cyberforum.ru/cpp-beginners/thread87470.html
какие книги вы посоветуете для быстрого изучения языка си???
C++ Перевести число из десятичной в двоичную 1. Составить программу согласно заданию. 2. Протестировать программу одним из известных методов тестирования (Black Box або White Box) Примітка: 1.Данные вводяться с клавы. 2.Указывать результат роботи программи. Завдання: http://www.cyberforum.ru/cpp-beginners/thread87433.html
C++ Статистика:Метод наименьших квадратов
Вот такая задача мне попалась недавно на с++... Во время исследований получили экспериментальную зависимость вяскости глицерина в сантипуазах и температуры в градусах Цельсия: температура --- вяскость -42 ----- 6.71*10^6 -20 ----- 1.34*10^5 0 ------ 1.21*10^4 20 ----- 1.49*10^3 30 ----- 6.26*10^2 Методом...
Работа с файломи C++
Здравствуйте. Нужна программа которая бы делала следующее. У нас есть неопределенное количество файлов. Пользователь с помощью стандартного ввода пишет путь к файлу и производиться считывание строки из файла. Строкой внутри этого файла является путь к следующему файлу. После считывания строки производим такую же операцию, только пользователь уже ничего не вводит, а путь к файлу копируется из...
C++ Вектор и итераторы http://www.cyberforum.ru/cpp-beginners/thread87418.html
Всем привет. Помогите дописать курсовую. Нодо сделать вывод студентов с вектора + сортировку объектов в векторе по любому значению. Вот что у меня получилось: /////////////////////////////////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include <fstream> #include <iostream> #include <conio.h> #include <vector> #include <stdio.h>...
C++ написать функцию, возвращающую массив Всем здравствуйте, Вопрос такой: нужно написать функцию, которая возвращает массив из двух чисел, и я не хочу использовать std::pair. Следующий вариант работает вроде: int* return_array(){ int arr; arr = 0; подробнее

Показать сообщение отдельно
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
23.01.2010, 00:08     Покрытие множеств
Основная ошибка - было перепутано N и n
Окромя того я все делал на чистом С, а он, дурачок, не понимает объявлений переменных
внутри функции, только в начале понимает
С++ и вся его мощь тут не нужны.
Так что переставил кой чего
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
// #include <iostream.h>
#include <string.h>
#include <conio.h>
// #include <alloc.h>
 
void main()
{
 int N = 7;  // kol-vo podmnogestv
 int n = 9;  // kol-vo elementov polnogo mnogestva
 int j, i;
 // double a[9]={ {1}, {3}, {2}, {2}, {1}, {2}, {3} }; // Eta stroka ne dolgna compilirovatsiy
 double a[7]={ 1, 3, 2, 2, 1, 2, 3 }; //vesa
  // Pust' mnojestva zadany chislami long A[n]
 long  A[7] = { 0xA2, 0x14A, 0x33, 0x124, 0x51, 0xD, 0xb5 };
 long U, P, X;
 long Y;  // Chastichnoe pokrytie
 double s; // cena
 
//  clrscr();
 
// Togda polnoe mnojestvo delaetsya tak:
  U = 0;
  for(i=0; i<n;i++ )   U |= (1L<<i);
// Dlya polnogo perebora toje ispol'zuem shkalu
  P = 0;
  for(i=0; i<N; i++)   P |= (1L<<i);
  X = 1; // X soderjit mnojestva, uchastvuyuschie v probnom pokrytii
  while(X!=P) {
    Y = 0;
    for(i=0; i<n; i++) {
      if (Y==U) {
        s = 0;
        for (j=0; j<i; j++) { // Pechat' naydennogo pokrytiya i ego ceny
          if ( (X & (1L<<j))!=0 ) {
            printf("%c ", 'A'+j);
            s += a[j];
          }
        }
        printf("s=%f\n", s);
        break;
      }
      if ( (X & (1L<<i))!=0 )  Y = (Y | A[i]);
    }
    X++;
  }
}
Что-то получается, но я не проверял, уж ты сам, будь добр, этим займись.
Если что-то будет не так - вставляй отладочные печати непонятных переменных
Если печатей этих будет слишком много: перенаправь стандартный вывод:
...exe >файл

ЗЫ. 1. Какова причина замена русских слов латиницей? Ты здесь не один такой -
так очень многие делают. Т.е. причина какая-то есть. Мне интересно - какая.
2. Пожалуйста! (и всем, кому сможешь, передай) Старайтесь делать грамотно отступы.
Чтобы операторы одного блока (между { ... } ) начинались друг под другом
Мучительно разбираться в проге с отступами в стиле шаляй-валяй. Ты и сам когда-нибудь
это поймешь.
Когда я вижу в коде этот раскардаш, как правило, тут же тему пропускаю.
Тебе повезло - задачка любопытная, и я нашел в ней новый ход.
 
Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru