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

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

Войти
Регистрация
Восстановить пароль
 
BBoyXaker
10 / 10 / 0
Регистрация: 31.08.2013
Сообщений: 60
#1

Множественное срабатывание цикла - C++

21.11.2014, 15:20. Просмотров 168. Ответов 3
Метки нет (Все метки)

Здравствуйте. При решении задачи возникла проблема, как я понял, связанная с через-чур большим количеством срабатывания цикла. Вот код:
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
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <cmath>
#include <sstream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    ifstream f1("in.txt",ifstream::in);
    ofstream f2("out.txt",ofstream::out);
    string *s = new string();
    istringstream *ss = new istringstream(*s);
    getline(f1,*s);
    int t;
    *ss >> t;
    delete ss;
    delete s;
    string a,b;
    vector<string> m(t);
    int x,y;
    for(int i = 0;i != t; ++i){
        getline(f1,m[i]);
        a = (m[i][0] + m[i][1]);
        b = (m[i][2] + m[i][3]);
        x = atoi(a.c_str());
        y = atoi(b.c_str());
        if(int(pow(x,2) + pow(y,2)) % 7 == 1){
            f2 << "YES" << endl;
        }else f2<< "NO" << endl;
    }
    f1.close();
    f2.close();
    return 0;
}
Помогите пожалуйста, я в С++ новичок. На Pascal'е давно решил более рациональным кодом, но кроме этого никакой другой не компилировался вообще. Кстати ещё есть одна проблема, if почему-то срабатывает не верно, и всё время выполняется else. Гляньте пожалуйста за переменными.
Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2014, 15:20     Множественное срабатывание цикла
Посмотрите здесь:

Кодовый замок, срабатывание по условию - C++
На двери установлен кодовый замок. При наборе на замке натурального числа N (1&lt;=N&lt;=10000) он срабатывает следующим образом: если число N...

Срабатывание деструктора при return класса - C++
Есть класс: class Test { public: char* Data; }; У этого класса есть деструктор который делает delete Data; Есть...

Exe вызвал срабатывание точки останова - C++
Насколько я понимаю, это утечка памяти. Не могу понять почему, matrix вроде нормально очищает память. Ошибка возникает только при при...

Ошибка в программе. Срабатывание точки останова - C++
Класс матрицы,операторы суммы,присваивания и умножения матриц. #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include...

Ошибка (вызвали срабатывание точки останова) - C++
1)Компилятор ошибка (вызвали срабатывание точки останова.) Как очистит память ? 2)как разъединить буквы и цифры и записать в массив ...

Код вызвал срабатывание точки останова - C++
// AVal - массив анализируемых данных, Nvl - длина массива должна быть кратна степени 2. // FTvl - массив полученных значений, Nft -...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5273 / 4593 / 1538
Регистрация: 14.04.2014
Сообщений: 18,243
21.11.2014, 15:29     Множественное срабатывание цикла #2
Как минимум так:
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
ifstream f1("in.txt");
    ofstream f2("out.txt");
 
    string s;
    istringstream ss;
    getline(f1, s);
 
    int t;
    ss >> t;
 
    string a,b;
    vector<string> m(t);
 
    int x,y;
 
    for(int i = 0;i != t; ++i){
        getline(f1,m[i]);
        a = (m[i][0] + m[i][1]);
        b = (m[i][2] + m[i][3]);
        x = atoi(a.c_str());
        y = atoi(b.c_str());
        if((x * x + y * y) % 7 == 1){
            f2 << "YES" << endl;
        }else f2<< "NO" << endl;
    }
    f1.close();
    f2.close();
    return 0;
А что твой цикл делает неясно. Что в файле? Какая задача решается?
BBoyXaker
10 / 10 / 0
Регистрация: 31.08.2013
Сообщений: 60
21.11.2014, 15:51  [ТС]     Множественное срабатывание цикла #3
В файле находидится целое число t
Далее t четырёх-значных чисел
Делим его на 2 двузначных, возводим их в квадрат, складываем и если остаток от деления на 7 равен 1 выводом Yes, иначе No.
Спасибо за ответ

Добавлено через 5 минут
вот пример файла:
3
2843
8243
0100
на что должно выйти:
YES
NO
YES

Добавлено через 2 минуты
Правда, цикл всё так же срабатывает неверно, наверное чтение проходит неверно

Добавлено через 2 минуты
Немного изменил ваш код
C++
1
2
3
string s;
    getline(f1, s);
    istringstream ss(s);
В итоги по циклу всё в порядке, только условие не выполняется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2014, 21:45     Множественное срабатывание цикла
Еще ссылки по теме:

.exe вызвал срабатывание точки останова - C++
Почему так происходит, пример из учебника. #include &lt;stdio.h&gt; #include &quot;mpi.h&quot; #include &quot;conio.h&quot; int main(int argc, char*...

Множественное наследование - C++
Есть два класса Human(fname, lname) и класс Employee c чисто виртуальными функц (зарплата и печать). На базе этих классов нужно создать...

Множественное число - C++
Помогите, пожалуйста, написать данную программу или дайте хотя бы дельный совет как её написать Для большинства существительных,...

Множественное наследование - C++
Описать два базовых класса с защищенной переменной типа char (в первом - фамилия, во втором - имя). В первом из них описать функцию...

Множественное наследование - C++
Доброй ночи!:) вот условие http://www.imagepost.ru/images/1/5n/15n_1.jpg каждом класс должен содержать инициализирующие...

множественное наследование - C++
разработайте алгоритм и создайте программы с применением множественного наследования. При выполнении данного задания необходимо создать не...


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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
21.11.2014, 21:45     Множественное срабатывание цикла #4
Цитата Сообщение от BBoyXaker Посмотреть сообщение
Далее t четырёх-значных чисел
Делим его
Здесь у меня компилятор не пропускает.

Цитата Сообщение от BBoyXaker Посмотреть сообщение
на 2 двузначных
Каких? И откуда?
Yandex
Объявления
21.11.2014, 21:45     Множественное срабатывание цикла
Ответ Создать тему
Опции темы

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