Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Петров
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 17
#1

По описанию пути к кладу определить точные координаты клада - C++

09.07.2015, 15:05. Просмотров 537. Ответов 7
Метки нет (Все метки)

Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: "North 5", где слово – одно из "North", "South", "East", "West", – задает направление движения, а число – количество шагов, которое необходимо пройти в этом направлении.

Напишите программу, которая по описанию пути к кладу определяет точные координаты клада, считая, что начало координат находится в начале пути, ось OX направлена на восток, ось OY – на север.

При отправке в тестирующую систему, выдает, что программа не прошла все тесты.

Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string s;
    ifstream input("input.txt");
    ofstream output("output.txt");
    int tl,x=0,y=0;
    while (!input.eof())
    {
        input >> s >> tl;
        if (s=="South") y-=tl;
        if (s=="North") y+=tl;
        if (s=="West") x-=tl;
        if (s=="East") x+=tl;
    }
    output << x << " " << y << endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 15:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос По описанию пути к кладу определить точные координаты клада (C++):

По описанию пути к кладу определить точные координаты клада, считая, что начало координат находится в начале - C++
Уважаемые форумчане! Никак не могу понять, почему эта программа работает неправильно, в чем ошибка. Задача: Капитан Флинт зарыл...

Вывести координаты клада – два целых числа через пробел - C++
Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: &quot;North 5&quot;, где слово –...

Определить, есть ли среди элементов матрицы точные квадраты - C++
Создание программы обработки двумерных масивов Дано квадратную матрицу определить есть ли среди ее элементов точные квадраты. Вывести...

Заданы координаты трех вершин прямоугольника, необходимо определить координаты четвертой вершины - C++
Заданы координаты трех вершин прямоугольника. Необходимо определить координаты четвертой вершины. Можете найти? Добавлено через 1...

Напишите программу, которая по описанию пути к кладу определяет точные координаты клада - C#
Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: &quot;North 5&quot;, где слово –...

Определить точные координаты элемента. - JavaScript
Здравствуйте! Мне нужно найти на страницы все &lt;input type=&quot;text&quot;/&gt; на парент каждого input подгрузить &lt;div&gt; с position:absolute и...

7
fitochay
14 / 14 / 0
Регистрация: 14.03.2015
Сообщений: 109
09.07.2015, 18:50 #2
мб else добавить? чтобы 4 раза не проверять все время. хотя хз
1
mr_mczakenberg
65 / 65 / 31
Регистрация: 10.04.2015
Сообщений: 281
09.07.2015, 21:01 #3
Посчиталось все правильно.
Про else правильно подмечено.
Так же надо бы закрывать файлы после использования. input.close(); output.close();
Возможно, не проверен файл на открытие.
1
Петров
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 17
09.07.2015, 21:23  [ТС] #4
Спасибо за советы. Я переделал программу:
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>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string s;
    ifstream input;
    ofstream output;
    input.open("input.txt");
    output.open("output.txt");
    int tl,x=0,y=0;
    while (!input.eof())
    {
        input >> s >> tl;
        if (s=="South") y-=tl;
        else
        if (s=="North") y+=tl;
        else
        if (s=="West") x-=tl;
        else
        if (s=="East") x+=tl;
    }
    output << x << " " << y << endl;
    input.close();
    output.close();
    return 0;
}
Но всё равно пишет "Частичное решение"...
0
fitochay
14 / 14 / 0
Регистрация: 14.03.2015
Сообщений: 109
09.07.2015, 22:07 #5
А Вы это запускали? Кажется не такими должны быть результаты.
1
Миниатюры
По описанию пути к кладу определить точные координаты клада  
Петров
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 17
09.07.2015, 22:14  [ТС] #6
Простите, но по условию числа возле направления строго положительные. То есть писать - East -7 нельзя. Но всё же ваш тест запустил. Ответом в файле была координата -17 15.
0
fitochay
14 / 14 / 0
Регистрация: 14.03.2015
Сообщений: 109
09.07.2015, 22:18 #7
о как. знач у меня проблемы xDD
0
Петров
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 17
09.07.2015, 22:24  [ТС] #8
Всё нормально. Всё же Вы мне помогли в плане теста... Я так подумал, а что если всё же при считывании учитывается пробелы и остальное. Решил кое-что добавить. Вот:
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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string s;
    ifstream input;
    ofstream output;
    input.open("input.txt");
    output.open("output.txt");
    int tl,x=0,y=0;
    while (!input.eof())
    {
        input >> s >> tl;
        if (s=="South") y-=tl;
        else
        if (s=="North") y+=tl;
        else
        if (s=="West") x-=tl;
        else
        if (s=="East") x+=tl;
        s=""; tl=0;
    }
    output << x << " " << y;
    input.close();
    output.close();
    return 0;
}
Добавил вот это:
C++
1
s=""; tl=0;
И всё прошло на ОК. Спасибо за помощь!)
0
09.07.2015, 22:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2015, 22:24
Привет! Вот еще темы с ответами:

Точные координаты анимации - Программирование Android
Добрый день ! Я задал анимацию не в XML файле а програмно: imageView = (ImageView) findViewById(R.id.kursor); ...

Дана последовательность целых чисел. Определить, есть ли среди них точные квадраты и вывести их на экран - Free Pascal
Дана последовательность целых чисел А1,...,А100. Определить, есть ли среди них точные квадраты и вывести их на экран.

Дана последовательность n целых чисел, определить есть ли среди них точные квадраты и вывести их на экран - Turbo Pascal
Здравствуйте, программисты! Не могли бы вы помочь с решением задачи? Я пытался её написать, но получилась куча ошибок, ещё и комп выкинул...

Пусть даны координаты трех вершин прямоугольника. Определить координаты четвертой вершины - Turbo Pascal
Доброго вечера. Написал программу для вычисления координаты 4 вершины треугольника через скалярное, произведение векторов, сначала была...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru