Как правильно написать эти два цикла? - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу создать два цикла с разными целочисленными выходами.так что я могу узнать, кто есть какой.Мне нужно будет добавить еще много подобных циклов в основную функцию, поэтому я ищу самое простое решение.

Правильно ли это?

#include <stdlib.h>
#include <math.h>
#define MAX_CARS 1000
main()
{
    double carsTimeheadA[MAX_CARS], carsTimeheadB[MAX_CARS];
    int i,z,n;
    int j,q,a;
    n=100;
    a=1000;
    for(i=0; i<n; i++)
    {
        for (j=100; j<a; j++)
            carsTimeheadA[i]=0.0;
        carsTimeheadB[j]=0.0;
    }
}

Или это?

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_CARS 1000
main()
{
    double carsTimeheadA[MAX_CARS], carsTimeheadB[MAX_CARS];
    int i,z,n;
    int j,q,a;
    n=100;
    a=1000;
    for(i=0; i<n; i++)
    {
        carsTimeheadA[i]=0.0;
    }
    for (j=100; j<a; j++)
    {
        carsTimeheadB[j]=0.0;
    }

}

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Насколько я понимаю, вы хотите, чтобы первый элемент 100 из carsTimeheadA имел значения 1, 2, 3, 4, ..., 100, а первый элемент 100 из carsTimeheadB имел значения 101, 102, 103, 104, ..., 200

В этом случае вам нужен только один цикл, например:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_CARS 1000
int main()
{
    double carsTimeheadA[MAX_CARS], carsTimeheadB[MAX_CARS];
    int i, n;

    n=100;
    for(i=0; i<n; i++)
    {
        carsTimeheadA[i]= 1.0 + i;
        carsTimeheadB[i]= 101.0 + i;
    }

    // ... more code

    return 0;
}
0 голосов
/ 18 февраля 2019

У вас есть конфликт между тем, что вы кодируете, и тем, что вы намерены, глядя на отступ.Ваш цикл имеет правильные отступы следующим образом:

for(i=0; i<n; i++)
{
    for (j=100; j<a; j++)
        carsTimeheadA[i]=0.0;
    carsTimeheadB[j]=0.0;
}

, что немного глупо и неверно: вы повторяете цикл примерно 100 раз или больше j, чтобы присвоить элементу i.После цикла j, вероятно, указывает вне массива при инициализации элемента j.

Вы имеете в виду следующее?

for(i=0; i<MAX_CARS; i++)
{
    carsTimeheadA[i]=0.0;
    carsTimeheadB[i]=0.0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...