Ⅰ 這是一個結構圖,就c語言基礎需要寫的。但是出現了讓我費解的步驟。

沒有問題啊,如果d<0,則根為復數,兩個復數根互為共軛
x=[-b±√(4ac-b²)i]/2a

Ⅱ 求解c語言結構圖,,

結構圖?不會,要不要程序

Ⅲ c語言結構體畫圖

就是定義一個班級結構體,裡面有班號,老師和學生,學生又是一個結構體,有年齡,性別,名字等屬性。不知道滿不滿足你的要求

Ⅳ 數據結構-圖的鄰接矩陣表示(C語言)

#include<stdio.h>
int min(int a,int b)
{
return a>b?b:a;
}
int fun(int **a,int n,int begin,int end)
{
int m=~(1<<31),i;
if(begin==end)
return 0;
else
{
for(i=0;i<n;i++)
if(a[begin][i]!=-1&&a[begin][i]!=0)
m=min(fun(a,n,i,end),m);
return m;
}
}
int main()

{
int n,i,js=0;
char begin,end;
int a[26][26],b[26]={0};

scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
scanf("%d,&a[i][j]");
if(i>j&&a[i][j]!=-1)
b[i]++;
}
getchar();
scanf("%c %c",&begin,&end);
for(i=0;i<n;i++)

s=s+b[i];
printf("%d\n",s);
for(i=0;i<n;i++)

printf("%d\n",b[i]);
fun(a,n,begin-'A',end-'A');
return 0;
}

Ⅳ 數據結構(C語言版),求圖,

簡單講一下
1)數組結構存儲。添加的話從最後一個開始後移一個直到添加位置;刪除的話從刪除位置的後一個起向前移動一個。直到最後一個
2)鏈式存儲。有有頭插法和尾插法。注意順序
3)逆置問題,斷開後,採用頭插法一次向後從新連接

Ⅵ 數據結構c語言版 構建一個圖 求大神解答

你可以定義一個平面圖結構類型變數作為定點(村子),成員定義一個指針數組,分別指向(小區)的結構變數。
而(小區)結構體成員定義一個指針都指向(村子)。
再復雜點還可以用鏈表指針把所有小區結構變數連起來。
至於圖片,成員定義字元串保存圖片路徑就可以了。(圖片也可以以二進制流形式存放資料庫,但一般不這么做)。
比如下圖:

Ⅶ 如下圖,C語言結構體

這個具體值可以執行一下看看就知道答案了,沒有必要請教

這里給你建議:這本書應該拋棄了。代碼都是非常粗製濫造的,下面幾個例子

main函數定義違背C標准


如果你是真想當程序員,看這種題目不但浪費時間而且也會降低你水平。如果不是為了當程序員,就當我沒說

Ⅷ c語言 數據結構編程 圖狀結構的應用

#include <iostream>
#include <fstream>
using namespace std;
class edgeset{
public:
int from;//邊起始點
int end;//邊終止點
int w;//邊的權值
};//定義一個類用來存放圖的邊的信息(kruskal演算法中用到)

//==============prim演算法=============================
void prim(int a[11][11],int (&path)[11][11]){
cout<<"運用prim演算法"<<endl;
int i,j,k;
int mini,minj,min,sum=0;
a[0][0]=-1;
cout<<"通道鋪設情況:(0-10分別對應點a-k)"<<endl;
for(k=1;k<11;k++){
min=100;
for(i=0;i<11;i++){
for(j=0;j<11;j++){
if(a[i][i]+a[j][j]==-1 && a[i][j]>0 && a[i][j]<min){
min=a[i][j];
mini=i;
minj=j;
}
}
}
if(a[mini][mini]==-1){
cout<<"("<<mini<<","<<minj<<")";
path[mini][minj]=a[mini][minj];
path[minj][mini]=a[mini][minj];
a[minj][minj]=-1;
}
else{
cout<<"("<<mini<<","<<minj<<")";
path[mini][minj]=a[mini][minj];
a[mini][mini]=-1;
path[minj][mini]=a[mini][minj];
}
sum=sum+min;
}
cout<<endl;
cout<<"建設費用為:"<<sum<<endl;
//=============最小生成樹的鄰接矩陣輸出==============
cout<<"最小生成樹對應的鄰接矩陣為:"<<endl;
for(int x=0;x<11;x++){
for(int y=0;y<11;y++){
cout<<path[x][y]<<" ";
}
cout<<endl;
}
}
//===================================================

//===========kruskal演算法=============================
void kruskal(int a[11][11],int(&kpath)[11][11]){
cout<<"運用kruskal演算法"<<endl;
int i,j,k,d;
int num=0;
edgeset edge[18];

//將鄰接矩陣中權值大於1的邊對應的點及權值存到一個邊類
for(i=0;i<11;i++){
for(j=i+1;j<11;j++){
if(!a[i][j]==0){
edge[num].from=i;
edge[num].end=j;
edge[num].w=a[i][j];
num++;
}
}
}
edgeset tmp;
//===================================================

//=======將邊按權值大小排序==========================
for(i=1;i<18;i++){
for(j=0;j<18-i;j++){
if(edge[j].w>edge[j+1].w){
tmp=edge[j];
edge[j]=edge[j+1];
edge[j+1]=tmp;
}
}
}
//===================================================

int m1,m2;
edgeset c[11];
int s[11][11];
for(i=0;i<11;i++)
for(j=0;j<11;j++){
if(i==j)
s[i][j]=1;
else
s[i][j]=0;
}
k=1;
d=0;
int sum=0;
cout<<"通道鋪設情況:(0-10分別對應點a-k)"<<endl;
while(k<11){
for(i=0;i<11;i++){
if(s[i][edge[d].from]==1)
m1=i;
if(s[i][edge[d].end]==1)
m2=i;
}
if(m1!=m2){
c[k-1]=edge[d];
cout<<"("<<c[k-1].from<<","<<c[k-1].end<<")";
kpath[c[k-1].from][c[k-1].end]=c[k-1].w;
kpath[c[k-1].end][c[k-1].from]=c[k-1].w;
sum=sum+c[k-1].w;
k++;
for(j=0;j<11;j++){
if(s[m2][j]!=0){
s[m1][j]=s[m2][j];
s[m2][j]=0;
}
}
}
d++;
}
cout<<endl;
cout<<"建設費用為:"<<sum<<endl;
//=============最小生成樹的鄰接矩陣輸出==============
cout<<"最小生成樹對應的鄰接矩陣為:"<<endl;
for(int x=0;x<11;x++){
for(int y=0;y<11;y++){
cout<<kpath[x][y]<<" ";
}
cout<<endl;
}
}

void main(){
int h,z;
int a[11][11];
int path[11][11]={0};
//==============數據讀入(圖的鄰接矩陣)=============
ifstream in("picture.txt");
for(h=0;h<11;h++){
for(z=0;z<11;z++){
in>>a[h][z];
}
}
//===================================================
cout<<"圖的鄰接矩陣:"<<endl;
for(int i=0;i<11;i++){
for(int j=0;j<11;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
int kpath[11][11]={0};
int b[11][11];
ifstream in2("picture.txt");
for(h=0;h<11;h++){
for(z=0;z<11;z++){
in2>>b[h][z];
}
}
int ch;
cout<<"請選擇演算法(1:prim演算法/2:kruskal演算法):";
cin>>ch;
cout<<endl;
switch(ch){
case 1:prim(a,path);//調用prim演算法函數
break;

case 2:kruskal(b,kpath);
break;
}
}
//希望對你有所幫助

Ⅸ C語言流程圖三種基本結構是什麼

C語言流程圖三種基本結構是
順序結構
選擇結構
循環結構