2015-05-30 2 views
1

Это массив, который я изучал на C++. Есть ли способ облегчить это дальше?Есть ли способ упростить этот массив целых цепей C++?


< < соиЬ "Массив целочисленных значений" < < End L,; cout < < "============= < < endl;

int value[5] = { 17, 34, 51, 68, 85 }; // Creates an integer array list that contain a series of 5 values 

    for (int loop = 0; loop < 5; loop++) { 
     cout << "Integer value " << loop << ": " << value[loop] << endl; 
    } 

    cout << endl << "Array of double values" << endl; // First endl creates a blank line 
    cout << "=======================" << endl; 

    double numbers[10] = { 12.1, 24.2, 36.3, 48.4, 60.5, 72.6, 84.7, 96.8, 212.9, 3.0 }; // Creates an double integer array list that contains a series of 10 values 

    for (int loop = 0; loop < 10; loop++) { // Loops array 
     // Adding example " numbers[loop] = 77; " would set every number to 77 

     cout << "Element at index " << loop << ": " << numbers[loop] << endl; 
    } 

    cout << endl << "Initializing with zero values" << endl; // First endl creates a blank line 
    cout << "=======================" << endl; 

    for (int loop = 0; loop < 1; loop++) { // Loops array 
     // Adding " numbers[loop] = 77; " would set every number to 77 
     cout << "Element at index " << loop << ": " << numbers[loop] << endl; 
    } 

    cout << endl << "Initializing with strings" << endl; // First endl creates a blank line 
    cout << "=======================" << endl; 

    // Array of strings 
    string text = ("Chair", "Table", "Plate") ; 

    ;  for (int loop = 0; loop < 3; loop++) { // Loops array 
     cout << "Element at index " << loop << ": " << text[loop] << endl; 

     return 0; 
+2

Не уверен, что вы хотите сделать – edtheprogrammerguy

+0

, вы можете удалить 'int numberArray [8] = {};' он не имеет никакой цели. Никаких вычислений на самом деле не делается, так что вы подразумеваете под упрощением? – ryanpattison

+0

Диапазон для цикла? – chris

ответ

1

Вы никогда не использовать ваш массив, объявленный здесь:

int numberArray[8] = {}; 

и вся эта часть выглядит как повторение сверху:

for (int loop = 0; loop < 10; loop++) { // Loops array 
// Adding " numbers[loop] = 77; " would set every number to 77 
cout << "Element at index " << loop << ": " << numbers[loop] << endl; 

Насколько "упрощение" это, если вы используете массивы одного и того же типа данных, вы можете написать функцию, которая принимает массив, количество элементов и lo ops через массив, выводящий все, что вы хотите. Тогда вы можете просто вызвать эту функцию из вашей main функции каждый раз, вместо того, чтобы повторять for петли

+0

Я изменил код, где я добавил массив строк. Однако он не отображает текстовый массив в конце. Есть идеи? Я изменил OP, чтобы показать код. – Icaraeus

+0

'string text = (« Chair »,« Table »,« Plate »);' не является допустимой инициализацией массива (или инициализацией строки, если на то пошло!). То, что вы, возможно, пытались, было «string text [] = {« Chair »,« Table »,« Plate »};' Это должно исправить ваш код (и вам также не хватает тесной привязки '}', чтобы закрыть ваш последний для цикла). – MikeRizzle

0

Может быть, вы могли бы попробовать что-то вроде этого:

template <typename T> 
void Printer (const vector<T> &t_elementsToPrint) 
{ 

    // For simple value printing 
    for (auto value : t_elementsToPrint) 
     cout << value << "\n"; 

    // If you want to know the index number 
    for (auto it = begin(t_elementsToPrint); it != end(t_elementsToPrint); ++it) 
    { 
     cout << "Element at index " << distance(begin(t_elementsToPrint), it) << " : " << *it << "\n"; 
    } 
} 

int main (int argc, char* argv[]) 
{ 

    vector<double> numbers = { 12.1, 24.2, 36.3, 48.4, 60.5, 72.6, 84.7, 96.8, 212.9, 3.0 }; // Creates an double integer array list that contains a series of 10 values 

    Printer<double>(numbers); 

    vector<int> numbers2 = { 17, 34, 51, 68, 85 }; 

    Printer<int>(numbers2); 

    return 0; 
} 

Вы можете изменить контейнер из вектора в массив или другой, что может вам подойдет, если вам не нужен сырой доступ, я бы рекомендовал придерживаться контейнеров STL, если то, что вы ищете, простота.

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