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

Простая задача? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Компилятор не видит vector http://www.cyberforum.ru/cpp-beginners/thread344985.html
#include <vector> using std::vector; vector<double> v; выбивает ошибку вектор не стд, вектор не определён. подскажите плз почему так может быть Во-первых, по правилам форума один вопрос - одна тема. Во-вторых, ваш вопрос к той теме вообще отношения не имеет.
C++ Какое утверждение верно? 1)ussing namespase std; нужно что бы писать cin<<" "; а не std::cin<<" "; 2)using namespace std; пишут если у тебя используется библиотека помоему <iostream> а не <iostream.h> Я спрашивал у людей что означает ussing namespase std вот два в верху написали вывода, какой из них верный? или верну оба скажите плиз http://www.cyberforum.ru/cpp-beginners/thread344974.html
debug error C++
Здравствуйте, уважаемые программисты. Следующая проблема: после добавления блока if(round == 'g') и после запуска программы выдает ошибку: Run-time check failure #2 - stack around the variable 'team1' was corrupted В дебагере пробовал смотреть, все переменные присваиваются корректно, запись в файл производится, потом ошибка выскакивает
C++ В каждом идентификаторе с нечетным порядковым номером удвоить последнюю букву
Задана последовательность идентификаторов, разделенных сериями пробелов. Последовательность задана строкой символов (string) заканчивается символом ‘*’. В каждом идентификаторе с нечетным порядковым номером удвоить последнюю букву.( решение задания этого есть все работает, мне интересен пример увидеть чтоб их текстового файла выводил всю инфорцацию на экран , причем чтоб по строчно , допустим...
C++ Извлечение данных из программы http://www.cyberforum.ru/cpp-beginners/thread344951.html
в игре Counter Strike 1.6 на deathrun сервере в чате бывают задания где надо произвести арифметические операции с 5 числами и в том же чате надо написать ответ плз напишите функции которые будут из чата числа считать или вводить в чат как ответ P.S. я WinAPI не знаю и учить не собираюсь Добавлено через 1 минуту кнопка чата y
C++ Перегрузка функций Задача: создать объект формирующий HTML теги. Теги бывают двух типов - полные <p параметры_тега>Текст абзаца</p> и короткие <input параметры_тега />. Хочу за счет создания разных подклассов тегов исключить ошибку вызова функции для полного тега с аргументами для короткого (и наоборот). class cTag { private: class baseTag : public std::string { public: baseTag(const... подробнее

Показать сообщение отдельно
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
24.08.2011, 15:42     Простая задача?
Здравствуйте! После участия в ДЛКШ я понял, что очень много не знаю даже о самых элементарных вещах в Си\Си++. Например, обыкновенная простая задача на теорию вероятностей -
полное условие под катом.
Цветные шары

В урне находится n шаров, каждый из которых имеет один из k цветов, причём количество шаров каждого цвета, как и сам цвет, известно и написано на отдельной табличке. Дима, начавший изучать теорию вероятности, решил подшутить над своими товарищами и пользуясь случаем, незаметно от остальных заменил все шары какого-то непонравившегося ему цвета шарами совсем других цветов, каждый из которых в надписях на табличках отсутствует, а саму табличку спрятал.

Теперь каждому, кто заходит в аудиторию, он задаёт один и тот же вопрос:

- А скажите-ка мне, с какой вероятностью Вы достанете из урны шар с цветом, не указанным на табличках?

Ваше задание состоит в том, чтобы написать программу, быстро отвечающую на Димины вопросы.

Технические условия

Входные данные

В первой строке задано количество товарищей m (1 ≤ m ≤ 1000), которым Дима задал свой вопрос. Каждая из последующих 2m строк имеет следующую структуру: в первой из них задано два числа n и k (1 ≤ kn ≤ 10000), а во второй k-1 число, разделённое пробелами - количество шаров очередного известного цвета, написанное на табличке.

Выходные данные

В каждой из m строк должен содержаться ответ к Диминой задачке, выведенный с точностью 5 знаков после запятой.

Информация о задаче
Лимит времени: 1 секунда
Лимит памяти: 64 MB
Баллы за пройденный тест: 9.09091
Сложность: 44% 5/9

Пример входных данных
2
10 3
5 3
10 3
3 2

Пример выходных данных
0.20000
0.50000
Для тех, кто не хочет читать - правильное решение сводится к тому, чтобы вывести 1 - s / n, с точностью 5 знаков после запятой - проверено. Я пишу стандартное решение на плюсах:
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int t, q, n, k, s, a, i;
 
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
 
    scanf("%d", &t);
 
    for (q = 0; q < t; q++)
    {
        s = 0;
        scanf("%d %d", &n, &k);
 
        for (i = 0; i < k - 1; i++)
        {
            scanf("%d", &a);
            s += a;
        }
 
        printf("%.5f\n", 1. - double(s) / double(n));
    }
 
    return 0;
}
Не проходит один тест (на сайте стоит Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86). Исследую тесты, вычитываю задание, делаю еще 25 отправок с разными модификациями этого решения - этот тест ни один вариант не прошел. Попробовал - чем черт не шутит - переписать на паскаль - вдруг пройдет (компилятор на сайте - dcc (Borland Delphi for Windows) 15.0)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{$APPTYPE CONSOLE}
 
 uses
  SysUtils;
 var
  t, q, n, k, s, a, i: longint;
 
 begin
  readln(t);
 
  for q := 0 to t - 1 do begin
    s := 0;
        read(n, k);
 
        for i := 0 to k - 2 do begin
      read(a);
      s := s + a;
    end;
 
    writeln(1 - s / n :5:5);
  end;
 
 end.
И таки прошло. Администратор сайта говорит, ошибка в реализации (на Си++). Не подскажите, где же ошибка? Если я ошибся разделом - переместите, пожалуйста если подскажете, есть похожая проблема, на том же сайте такая же элементарная задача не сдается, если использовать потоки в стиле Си++, но если использовать ввод-вывод в стиле Си - прекрасно проходит.

Еще буду очень благодарен за литературу, где можно повычитывать подобные нюансы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru