2016-05-03 5 views
1

Mein CodeWie erweitere ich meine Bedingungen für mehrere Schleifen?

#include <stdlib.h> 
#include <stdio.h> 

int main() 
{ 
int i=0; 
int j=0; 
size_t count=0; 
float numbers[20][100]; 
float velocity[21][101]; 
char *line = NULL; 

    FILE *myFile; 
    myFile = fopen("vel.txt", "r"); 

    if (myFile == NULL) 
    { 
     printf("Error Reading File\n"); 
     exit (0); 
    } 

while(i < 20 && getline(&line, &count, myFile)!=-1) { 
int len = 0, pos = 0; 
    j = 0; 
    while(j < 100 && 1 == sscanf(line + pos, "%f%n", &numbers[i][j++], &len)) 
     pos += len; 
    i++; 
} 
free(line); 
fclose(myFile); 

    i=1; 
    for(j = 0; j < 101; j++) 
    { 
     if(j == 1) 
     { 
     velocity[i][j]=numbers[i][j]; 
     } 
     else if (j == 101) 
     { 
     velocity[i][j]=numbers[i][j]; 
     } 
     else 
     { 
     velocity[i][j]=(numbers[i][j-1]+numbers[i][j])/2;  
     }  
    } 

     for (j=0 ; j<101 ; j++) { 
     printf("\n%f", velocity[i][j]); 
     } 
} 

I Geschwindigkeiten berechnen müssen für 21.101 zweidimensionale mesh.If i==1, das ist mein Code oben und arbeitet fine.The sam Bedingungen gelten, wenn i==21 .Aber für alle anderen Werte (2 bis 20) Berechnungen sind different.How sollte ich

if(i== from 2 to 20 &&j == 1) 
     { 
     do something 
     } 
     else if (i== from to to 20 && j == 101) 
     { 
     do something 2 
     } 
     else(means i goes from 2,20 j goes from 2,100) 
     { 
     do something 3 
     }  

Antwort

2

Sie so etwas wie dieses wollen Sie ändern: if(i >= 2 %% i <= 20)? Bedeutet: 2 < = i < = 20 oder wenn i größer oder gleich 2 ist und i niedriger oder gleich 20 ist, ist es wahr.

Wenn Ihr Beispiel:

if(i >= 2 && i <= 20 && j == 1) 
{ 
    //do something 
} 
else if(i >= 2 && i <= 20 && j == 101) 
{ 
    //do something 2 
} 
else if(i >= 2 && i <= 20 && j >= 2 && j <= 100) //means i goes from 2,20 j goes from 2,100 
{ 
    //do something 3 
} 

oder gibt es etwas, was ich verpasst?

+0

Nein, das kann nicht kompiliert werden, schauen Sie sich sonst an, wie sollte das bei zwei Variablen aussehen? –

+0

nur andere Bedingungen hinzufügen, werde ich die Antwort aktualisieren ... – mame98

Verwandte Themen