Что-то не так передаю -_-
#include <conio.h>
#include <vector>
#include <cmath>
#include <iostream>
using namespace std;
struct A
{
int year;
int maps;
};
struct List
{
A a;
List* begin;
List* next;
List *tec=NULL,*start=NULL,*last=NULL;
};
void Innit(List** begin,int n )
{
*begin = new List;
struct List *tec=NULL,*start=NULL,*last=NULL;
for(int i=1;i<=n;i++)
{
cin>>(*begin)->a.year;
cin>>(*begin)->a.maps;
if(start==NULL) //если вводиться первый элемент запомнить его в start
{
start=tec;
last=tec;
}
last->next=tec;//в последнем элементе устанавливаю ссылку на новый
last=tec;//новый элемент делаю последним
last->next=NULL;//обнуляю ссылку в новом элементе
}
tec=start;
for( int i=1;i<=n;i++)
{
cout<<(tec->a.year)<<endl;
cout<<(tec->a.maps) << endl;
tec=(tec->next);
}
getch();
}
int main()
{
int n;
List* begin = NULL;
cout<<"Vvedite kol-vo elementov spiska ";
cin>>n;
Innit(&begin,n);
}
Создание новой связки *begin = new List; в начале проги убрать, это нужно делать в цикле, где условие if(start==NULL). Первым действием в цикле нужно создать новую связку списка tec=new List. Записывать данные с консоли нужно не в начало списка, а только-что созданную структуру List. И убери из структуры глобальные переменные List *tec=NULL,*start=NULL,*last=NULL;. Дальше прога кажется будет дышать.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей