Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Unhandled exception .. access violation 
:(
    Опции темы
Jugger
Дата 1.3.2011, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 30.1.2008

Репутация: нет
Всего: нет



Вот в этом коде выдает .. подозреваю что связано с вводом .. подскажите что не так
Код

#include "stdafx.h"
#include "iostream"
using namespace std;
#include <stdlib.h>
 
 
// ifstream in;  // Поток in будем использовать для чтения
      
        struct element {
                int x;
                element* next;
        } ;
 
        class spisok{
        public:
                element* perv;
                element* posl;
                element* kol;
                void addtolist(int x);
        } sp;
 
        void addtolist(int x){
                element* tmp=0;
                if(sp.perv==NULL) sp.perv=tmp;
                else  tmp=tmp->next;
                tmp->next=NULL;
                sp.posl=tmp;
                sp.kol++;
        }
 
        int max(spisok sp){
                int d=-32768;
                element * temp = sp.perv;
                while(temp!=0){
                        d=temp->x>d?temp->x:d;
                        temp=temp->next;
                }
                        return d;
        }
 
        
 
        int so(spisok sp){
                       int s;
                       element* temp = sp.perv;
                           while(temp!=0) if(temp->x<0) s=+temp->x;
                           temp=temp->next;
                           return s;
        }
 
        
 
        void main(){
                system("cls");
                int i,e;
                for(i=0;i<10;i++){
              cin>>e;
                          addtolist(e);
                }
 
                printf("maximalnii element - %d,  summa otritsatelnix = %d",max(sp),so(sp));
                //return 0;
        }

PM MAIL   Вверх
baldina
Дата 1.3.2011, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(Jugger @  1.3.2011,  03:45 Найти цитируемый пост)
 void addtolist(int x){
                element* tmp=0;
                if(sp.perv==NULL) sp.perv=tmp;
                else  tmp=tmp->next;
                tmp->next=NULL;
                sp.posl=tmp;
                sp.kol++;
        }

здесь указатель tmp равен 0, память под новый элемент списка не выделяется.
должно быть что-то вроде 

Код

element* tmp=malloc (sizeof(element)); // выделяем память
// инициализируем элемент
tmp->next=0; 
tmp->x = x;


и еще

Цитата(Jugger @  1.3.2011,  03:45 Найти цитируемый пост)
int max(spisok sp){
                int d=-32768;
                element * temp = sp.perv;
                while(temp!=0){
                        d=temp->x>d?temp->x:d;
                        temp=temp->next;
                }
                        return d;
        }

вместо того, что бы устанавливать d в минимальное возможное значение (к тому же неправильно, т.к. это значение зависит от компилятора), лучше в качестве первого значения брать значение первого элемента.
конечно, это не будет работать для пустого списка, но для пустого списка функция max не имеет смысла
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.