Я работаю над потоками, однако прежде чем использовать потоки, я должен написать 2 программы.Последовательная программа, которая обращается ко всему массиву
- Настройте массив и напишите последовательную программу, которая обращается ко всему массиву и выполняет некоторую простую задачу по содержимому.
- Измените программу так, чтобы она была последовательной, но обращается к массиву с помощью ряда вызовов функции. Каждый вызов этой функции обрабатывает несколько строк массива, как определено параметром, переданным функции.
У меня проблемы с пониманием вопросов, кажется, это так просто, но, похоже, я не могу об этом подумать. Я должен написать программы на основе вышеуказанных двух вопросов, прежде чем я начну создавать программу, которая позволит обрабатывать одну или несколько потоков. Каждый поток должен обращаться к другому набору строк массива.
Для первого вопроса, то код, который я написал до сих пор
#include <iostream>
#include <stdio.h>
int main()
{
int array [20][20];
int i, j;
/* output each array element's value */
for (i = 0; i < 20; i++)
{
for (j = 0; j < 20; j++)
{
printf("a[%d][%d] = %d\n", i,j, array[i][j]);
}
}
system ("PAUSE");
return 0;
}
Я хочу знать, если выше программа представляет собой последовательную программу? Я запустил программу, и он обратился ко всему массиву и выполнил одну задачу, которая заключается в том, чтобы распечатать все данные в массивах.
Я исследовал on-line то, что это означает, последовательной программой, и я нашел, что это означает следующее утверждение: выполнить задачу перед задачей b, но не в одно и то же время. Это правильно?
Для второй части я сделал следующее:
#include <iostream>
#include <stdio.h>
void print_array(int array[20][20]);
int main()
{
int array [20][20];
int i, j;
print_array(array);
system ("PAUSE");
return 0;
}
// Output data in an array
void print_array(int array)
{
int i, j;
for (i = 0; i < 20; i++)
{
for (j = 0; j < 20; j++)
{
printf("a[%d][%d] = %d\n", i,j, array[i][j]);
}
}
}
Собираюсь ли я в правильном направлении? Поскольку мне также пришлось написать версию программы, которая позволит обрабатывать одну или несколько потоков.
EDIT: Я использовать 2D массивы, жаль, что не было ясно, выше
Кроме того, для достижения такого же результата в обеих установках я предлагаю инициализировать массив известными значениями. –
Определенно - вы должны уметь проверять, что все еще работает на каждом шагу. –