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

Список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка Необработанное исключение в "0x001d18f8" в "lr7v2.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde9" http://www.cyberforum.ru/cpp-beginners/thread216494.html
class Hdd { public: char Hdd_name; int total_space; int free_space; int speed; Hdd *next; Hdd *previous; };
C++ Найти максимальный элемент матрицы среди элементов, расположенных левее 4-го столбца Дана матрица А (4,5) Найти максимальный элемент матрицы среди элементов, расположенных левее 4-го столбца. Подсчитать сумму для элементов 2-го столбца по формуле: S=∑▒(a_i2+a_i2^2)/a_43 +5 Поменять местами найденные максимальный элемент и значение S Один вопрос - одна тема! http://www.cyberforum.ru/cpp-beginners/thread216490.html
Преобразовать в строке все слова по правилу C++
Привет всем! не могли бы мне помоч, кто может! задание со строками. Преобразовать в строке все слова по правилу: оставить в слове только первые вхождения каждого символа. (на С)
C++ Указатель на вектор
void Proc(int n, vector<float> *a, float *p) { float s=0; int ii; for(ii=1;ii<=n;ii++) { s +=a; //выдаёт ошибку: no match for 'operator+=' in 's += *((+(((unsigned int)ii) * 12u)) + a)' p=0; } for(ii=1;ii<=n;ii++) p=a/s*100; //выдаёт ошибку: no match for 'operator/' in '*((+(((unsigned int)ii) * 12u)) + a) / s' }
C++ Найти значение величины S http://www.cyberforum.ru/cpp-beginners/thread216445.html
Помогите решить, очень прошу Задан массив. Найти значение величины S. c={-0.7;1.5;0.2;-3.1;4.6;3.4;6.2;-7} S = j*sin c + ∑ c/|c| при i = 1,2,3…8 заранее спасибо=*
C++ дана целочисленная прямоугольная матрица дана целочисленная прямоугольная матрица 1)определить количество строк,не содержавших не одного нулевого элемента? 2 )максимальное их чисел,встречающихся в заданной матрице более 1 раза? блок-схему и проги кто может( подробнее

Показать сообщение отдельно
Юлек
4 / 3 / 0
Регистрация: 26.10.2009
Сообщений: 43

Список - C++

21.12.2010, 09:37. Просмотров 224. Ответов 0
Метки (Все метки)

Есть структура, ее надо переделать в список. Я создала список, а вот как структуру туда вставить на знаю!!! помогите.

Структура

#include<stdio.h>
#include<stdlib.h>
#define N 6
#include<string.h>
void Pechat(void);
void sprosit(void);
int zn(int d,int m);
struct Znaki
{
char name[30];
int a[2];
};
struct Zod
{
char FIO[50];
int Data[3];
struct Znaki ZnakZ;
};
struct Zod Klient[N]={{"Ivanov V.P",{1,2,1989},{"Ribi",{21,2}}},
{"Petrov I.S",{3,4,1994},{"Telec",{21,4}}},
{"Sidorov P.P",{2,6,1986},{"Telec",{21,4}}}};

struct Znaki Zodiak[12]={{"Oven",{21,3}},
{"Telec",{21,4}},
{"Blizneci",{21,5}},
{"Rak",{22,6}},
{"Lev",{23,7}},
{"Deva",{24,8}},
{"Vesi",{24,9}},
{"Scorpion",{24,10}},
{"Strelec",{23,11}},
{"Kozerog",{22,12}},
{"Vodoley",{21,1}},
{"Ribi",{21,2}}
};
void Pechat(void){
int i,x;
printf("------------------------------------------------\n");
printf("| FIO | Data | Znak |\n");
printf("------------------------------------------------\n");
for(i=0;i<N;i++){
printf("| %15s | %3d %3d %5d | %10s |\n",Klient[i].FIO,Klient[i].Data[0],
Klient[i].Data[1],Klient[i].Data[2],Klient[i].ZnakZ.name);
}
printf("-------------------------------------------------");
}
void Sprosit(void){
int i,Data, nom;
char str[12];
for(i=3;i<N;i++)
{
printf("Vvedite FIO\n");
gets(Klient[i].FIO);
//scanf("%s",Klient[i].FIO);
printf("Vvedite Datu rojdenia\n");
//scanf("%i.%i.%i",&Klient[i].Data[0],&Klient[i].Data[1],&Klient[i].Data[2]);
gets(str);
sscanf(str, "%d.%d.%d",&Klient[i].Data[0],&Klient[i].Data[1],&Klient[i].Data[2]);
nom=zn(Klient[i].Data[0],Klient[i].Data[1]);
Klient[i].ZnakZ=Zodiak[nom];
}
}
int zn(int d,int m){
int a1,a2;
a1=m-3;
if(a1<0) a1=a1+12;
a2=a1-1;
if(a2<0) a2=a2+12;
if(d>=Zodiak[a1].a[0])
return a1;
else
return a2;
}
int main(){
int x,i;
Sprosit();
for(i=0;i<N;i++)
{
x=zn(Klient[i].Data[0],Klient[i].Data[1]);
}
Pechat();
return 0;
}

.... и список:
#include <iostream>
#include <string.h>
#include <stdio.h>

using namespace std;

struct Zodiak{
Zodiak *next;
Zodiak *prev;
char s[20];
int st,fin;
};

Zodiak *head, *tail;

void add(char *p, int l, int r)
{
if (tail)
{
Zodiak *t=new Zodiak;
tail->next=t;
strcpy(t->s,p);
t->st=l;
t->fin=r;
tail->next=t;
t->prev=tail;
tail=t;
}
else
{
head=new Zodiak;
strcpy(head->s,p);
head->st=l;
head->fin=r;
head->next=NULL;
head->prev=NULL;
tail=head;
}
}

void del(char *p)
{
Zodiak *it=head;
while (it!=NULL)
{
if (strcmp(it->s,p)==0)
break;
it=it->next;
}
if (it!=NULL)
{
if (it==head && it==tail)
{
head=NULL;
delete tail;
tail=NULL;
}
else if (it==head)
{
head->next->prev=NULL;
head=head->next;
delete it;
}
else if (it==tail)
{
tail->prev->next=NULL;
tail=tail->prev;
delete it;
}
else
{
it->prev->next=it->next;
it->next->prev=it->prev;
delete it;
}
}
}

void write(FILE* f)
{
Zodiak *it=head;
while (it!=NULL)
{
fprintf(f,"%s\n",it->s);
it=it->next;
}
}

int main()
{

return 0;
}
Как их объединить???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru