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

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

Восстановить пароль Регистрация
 
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
28.10.2010, 01:07     Проверка не работает #1
Вроде написал правильно, но программа не работает, вполне возможно что гдето запутался в адресах списка посмотрите что не так!!!
программа компилируется но после ввода 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++ Проблема с кодом программы - не работает проверка условия
не работает проверка бесконечного цикла C++
Не работает проверка строк C++
Не работает проверка C++
Не могу понять, как работает проверка на нечётность C++
Проверка на то, что введено число, а не символ не работает C++
C++ Не работает проверка пробелов строки из файла
C++ Метод Гаусса. Не работает проверка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
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, но оно почумуто не работает
Yandex
Объявления
28.10.2010, 18:37     Проверка не работает
Ответ Создать тему
Опции темы

Текущее время: 15:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru