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

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

Войти
Регистрация
Восстановить пароль
 
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
#1

Проверка не работает - C++

28.10.2010, 01:07. Просмотров 448. Ответов 2
Метки нет (Все метки)

Вроде написал правильно, но программа не работает, вполне возможно что гдето запутался в адресах списка посмотрите что не так!!!
программа компилируется но после ввода h, появляется табличка и прога завершает работу(((
Задание:
Проверить, удовлетворяют ли элементы списка (базовый тип integer) закону x=f(x0, h), где x – элемент списка, h – шаг, x0 – начальный элемент списка. Пример: x0=5, h=1. x1=6, x2=7, x3=8... Элементы списка удовлетворяют закону x=h(5,1)

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
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
 
struct LIST {
int info;
LIST *next;
};
 
LIST *head,*Prev;
 
int main()
{
    int h,c,s,d;
    c=0;s=0;d=0;
 
 fstream fin,fout;
 
 
fin.open("fin.txt",ios_base::in);
    if(fin.is_open()==false)
        cout << "ошибка открытия fin.txt!!!";
    fout.open("fout.txt",ios_base::out |
                         ios_base::trunc);
    if(fin.is_open()==false)
        cout << "ошибка открытия fout.txt!!!";
 
 head = new LIST;
 LIST* p = head;
 
while( !fin.eof() )
{ 
  fin >> p->info;
  cout << p->info << endl;
  p->next = new LIST;
  p = p->next; 
  d++;
}
 
cin >> h;
 
LIST *Current = head; //первый элемент
LIST *prev=head->next; // второй элемент
 
while(prev != NULL)
{  Current=Current->next;
   prev=prev->next;
  if(prev->info+h==Current->info)
 
    c++;
}
if (c==d) //с-количество чисел, d-количество совпадений
    cout << "podxodit";
return 0;
}
Добавлено через 31 минуту
я уже все исправил не работает одна вещь
C++
1
while(prev != NULL)
-этот цыкл должен работать до конца списка и завершаться, но он работает дальше какое условие нужно поставить что бы цыкл завершился в конце списка ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 01:07     Проверка не работает
Посмотрите здесь:

Не работает проверка - C++
Вообщем тут такое дело, я все вычислил, вывел в консоль результат (чтобы проще было), отнял от ранее заданной переменной y переменную fall,...

Не работает проверка строк - C++
Работаю в среде DEV C++, и не могу понять что неправильно. Пробовал вместо string ставить массив символов - немного работает но не всё. ...

не работает проверка бесконечного цикла - C++
// разработать класс Student, который содержит соответствующие поля для хранения: // * фамилии,+ // * имени,+ // * отчества,+ // *...

Не работает проверка на високосный год - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Метод Гаусса. Не работает проверка - C++
#include &lt;locale&gt; #include &lt;cmath&gt; #include &lt;malloc.h&gt; #include &lt;iostream&gt; using namespace std; Значения х находит верно,...

Не работает проверка пробелов строки из файла - C++
В общем задание вот: Имеется текстовый файл.Добавить в него строку из 12 черточек,разместив её:gосле последней из строк,в которых нет...

Не работает проверка и сдвиг строки матрицы - C++
помогите разобраться. не работает проверка и сдвиг строки. не могу найти ошибку. #include&lt;iostream&gt; #include&lt;iomanip&gt; ...

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

Проблема с кодом программы - не работает проверка условия - C++
Здравствуйте, у меня вот проблема. Фрагмент кода их программы. Как вы поняли, при обпределенном весе должно выводиться конкретное...

Не могу понять, как работает проверка на нечётность - C++
Программа призвана выводить на консоль элементы массива с нечётными значениями. Проверка на нечётность здесь весьма нетрадиционна....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
1154 / 959 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
28.10.2010, 11:31     Проверка не работает #2
В этом месте
C++
1
if(prev->info+h==Current->info)
prev может быть == NULL, что приведет, естесственно, к ошибке
//Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
28.10.2010, 18:37  [ТС]     Проверка не работает #3
Ну так я и поставил условие в цыкле пока prev не равно NULL, но оно почумуто не работает
Ответ Создать тему
Опции темы

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