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

Ошибка во время выполнения программы. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать массив в Microsoft Visual C++ 6.0 http://www.cyberforum.ru/cpp-beginners/thread688651.html
Здравствуйте, помогите, пожалуйста, решить задачи по визуальному программированию на Microsoft Visual C++ 6.0 :help: Создать Массив состоящий из 20 случайных целых чисел, вывести элементы массива на экран. Подсчитать, сколько элементов в массиве лежат в интервале от 0 до 50. Вывести подсчитанное количество и вывести эти элементы.
C++ Обмен местами двух соседних слов в строке Нужно написать программу, которая бы заменяла два соседних слова в строке, например: "6 ноября все студенты страны смогут присоединиться к онлайн-трансляции" заменить на : "ноября 6 студенты все смогут страны к присоединиться онлай-трансляции" реализовать через массив символов (char) без использования string http://www.cyberforum.ru/cpp-beginners/thread688648.html
C++ Уплотнение матрицы
Ребята, помогите с этим:Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные только отрицательными элементами. Найти сумму модулей элементов, расположенных ниже главной диагонали. Сделал все, но почему-то не удаляются только столбцы. Где здесь ошибка? #include "stdafx.h" #include <stdio.h> #include <clocale> #include <conio.h> #include "math.h"
C++ Поменять местами первое и последнее слово в строке
задача: поменять местами первое и последнее слово в строке. проблема некорректно определяется конец первого слова. код: /*В строке поменяйте местами первое и последнее слова. Слова разделяются группами пробелов, пробелы возможны в начале и в конце строки.*/ char* swap(char* str) { int fb = 0; //начало первого слова
C++ DevC++, возможно ли подключить русификатор? http://www.cyberforum.ru/cpp-beginners/thread688631.html
В Dev c++ возможно подключить русификатор?
C++ Строку в нижний регистр вводится русская строка (слово ) кодировка 1251, необходимо привести ее к нижнему регистру #include <ctype.h> #include <locale.h> #include <string> #include <iostream> #include <algorithm> int main (){ подробнее

Показать сообщение отдельно
KnockKnock
 Аватар для KnockKnock
1 / 1 / 0
Регистрация: 04.11.2012
Сообщений: 11
04.11.2012, 21:50     Ошибка во время выполнения программы.
Здравствуйте, помогите, пожалуйста, разобраться. Пытаюсь сдать задачу, из 27 тестов в трех - ошибка во время выполнения программы.

Условие:
Кликните здесь для просмотра всего текста
Как и у каждого мальчика, у Феди есть игрушечные машинки. Однако ему повезло больше, чем обычному мальчику — все n его машинок являются радиоуправляемыми. Целыми днями он может устраивать различные автогонки и играть с друзьями.

Из всех видов гонок Федя предпочитает гонки по прямой. В данном формате соревнования трасса имеет форму прямой и является бесконечной (соревнования идут до тех пор, пока Феде это не надоест). Изначально каждая из n машинок находится на некотором расстоянии от старта — имеет фору xi метров. По команде все машинки начинают свое движение от старта, при этом каждая машинка движется во время гонки с постоянной скоростью vi метров в секунду. Все машинки движутся в одном направлении — удаляются от старта.

Недавно Феде подарили видеокамеру, и он хочет заснять яркие моменты гонки. Прежде всего Федя хочет запечатлеть первый обгон гонки, то есть первый момент времени, в который две машины находятся на одном расстоянии от старта.

Так как этого события можно ждать очень долго, Федя хочет настроить камеру на автоматическое включение во время обгона. Однако, Федя самостоятельно не может найти время, которое пройдет со времени начала гонки до времени первого обгона. Помогите Феде — напишите программу, находящую искомую величину.

Формат входных данных
В первой строке входного файла содержится единственное число n — количество машинок на трассе (2 <= n <= 100). Каждая из следующих n строк содержит по два целых числа xi и vi — расстояние от старта (в метрах) и скорость машинки i (в метрах в секунду) соответственно (1<= xi,vi <= 1000).

Исходно никакие две машинки не находятся в одной точке. Гарантируется, что хотя бы один обгон во время гонки произойдет.

Формат выходных данных
В выходной файл выведите количество секунд, которое пройдет с момента старта до момента первого обгона, с точностью не менее 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
 
int main ()
{
    long n, k;
    double x [101];
    double v [101];
 
    double res [101];
 
    cin >> n;
 
    for (long i = 0; i < n; i++)
    {
        cin >> x[i] >> v[i];
    }
 
    
    k = 0;
 
    for (long i = 0; i < n; i++)
        for (long j = 0; j < n; j++)
        {
            if (i == j) continue;
            if ( (v[i] > v[j]) && (x[i] < x[j]) ) {
                res [k] = (x[j] - x[i]) / (v[i] - v[j]);
                k++;
            }
        }
        
    
    double min = res [0];
    for (long i = 0; i < k; i ++) {
        if (res[i] < min) min = res [i];
    }
    
    
    cout << min;
 
 
    return 0;
}
Скорости гарантированно разные при делении, значит, на ноль не должно быть деления... В чём может быть проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru