2013-11-26 4 views
0

У меня возникли проблемы с загрузкой 2D-массива. Предполагается, что первая строка должна быть числом между значениями p и q. Из моего кода вы можете видеть, что я точно не знаю, как загрузить эту первую строку с помощью простых чисел. Я читал свой текст, и это не все так полезно (если я не упустил что-то). Просто ищем советы, спасибо.Загрузка двухмерного массива

#include <iostream> 

    int main() 
    } 

    const int ROW = 3; 
    const int COL = 4; 
    int Table[ROW][COL]; 
     int p = 24; 
     int q = 42; 
    for (int i = 0; i < ROW; i++) 
     { 
    for (p; p < 42; p++) 
    { 
     if(p % 2 != 0) 
     { 
      if(p % 3 != 0) 
      { 
       if(p % 5 != 0) 
       { 
        if(p % 7 != 0) 
        { 
         if(p % 11 != 0) 
         { 
          Table[i][j] = p; 
         } 
        } 
       } 
      } 
     } 
    } 
} 

Edit: Мои скобки могут быть выключены. Это была копия/вставка из Eclipse.

+2

Я не вижу, где вы установили j. – woolstar

+0

Знаете ли вы, что '&&' делает? – Shoe

+0

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

ответ

2
int main() 
{ 
    const int Rows = 3; // avoid uppercase identifiers unless preprocessor macros 
    const int Cols = 4; 
    int table[Rows][Cols]; 
    int p = 24; 
    int q = 42; 
    for (int col = 0; col < Cols; col++) 
     for (; p < q; ++p) 
      if (p % 2 && p % 3 && p % 5 && p % 7 && p % 11) 
      { 
       table[0][col] = p++; // ++ so not using same p next time... 
       break; 
      } 
} 
+0

Это работает! Спасибо. Я, возможно, ношу в темноте здесь, но чтобы загрузить вторую строку с совершенно другим набором значений (не простых чисел, еще чего-то), я бы сделал «table [row + 1] [0]'? Моя книга полностью игнорирует этот тонкий момент. Еще раз спасибо. (Я пробовал это, похоже, работает. Не может быть «лучшим» способом, но он работает). – Matt

+1

@Matt: исправлено, чтобы заполнить столбцы в строке 0. Чтобы получить доступ к следующей строке, вы должны записать в таблицу [1] [col] 'для каждого значения столбца' col'. –

1

Положить перерыв после Table[i][j] = p;, так что вы будете генерировать только одно значение для i.

Смежные вопросы