нормально Проблема с printf в основном.Я не программист, и это немного самоучка, так что не убивайте меня.Функция creation_noe создает связанный список нулей.Если мы хотим 3 из них, тогда ссылка будет начинаться с той, которая пронумерована как 3, но printf в основном дает мне 1 3 3. Я потерян.Спасибо за вашу помощь.
PS: программа намного длиннее, это только необходимая часть.если у вас есть вопрос, я здесь, чтобы ответить на них.Я просто не хочу, чтобы ты тратил время на отдых, который не имеет значения.спасибо:)
PPS: Термины на французском
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct matrice
{
char nom[20];
int n,m;
double **tab;
struct matrice *next;
};
struct element
{
int num;
int n1, n2;
double k;
struct element *next;
};
struct noeud
{
int num;
double u;
double f;
struct noeud *next;
};
struct maillage
{
int nb_noe, nb_elt;
struct noeud *lst_noe;
struct element *lst_elt;
struct matrice *K, *U, *F;
};
typedef struct element* elements;
typedef struct noeud* noeuds;
typedef struct maillage* maillages;
/*==============================================*/
/* Recherche */
/*==============================================*/
noeuds recherche_noe(maillages mail,int num){
int i;
maillages temp=mail;
printf("%d %d ",num,mail->lst_noe->num);
while((temp->lst_noe!=NULL) && (temp->lst_noe->num!=num)){
temp->lst_noe=temp->lst_noe->next;
}
if(temp->lst_noe->num==num){
return temp->lst_noe;
}
return NULL;
}
/*==============================================*/
/* creation */
/*==============================================*/
void creation_noeud(maillages mail){
int i;
noeuds new = (noeuds)malloc(sizeof(struct noeud));
mail->lst_noe=NULL;
for (i=0;i<mail->nb_noe;i++){
new->num = i+1;
printf("Deplacement du noeud %d: ",new->num);
scanf("%lf", &new->u);
new->next=mail->lst_noe;
mail->lst_noe=new;
}
}
int main(){
int i;
maillages mail=malloc(sizeof(struct maillage));
printf("Donner le nombre de noeuds voulu: ");
scanf("%d",&mail->nb_noe);
printf("Donner le nombre d'elements voulu: ");
scanf("%d",&mail->nb_elt);
creation_noeud(mail);
//creation_element(mail);
printf("aaa %d %d %d aaa \n",1,mail->lst_noe->num,mail->lst_noe->next->num,mail->lst_noe->next->next->num);
}