2015-04-26 4 views
0

Ok поэтому у меня есть целочисленный массив, который выглядит следующим образом:Objective C - Обобщить элементы в целочисленном массиве

int money[] = {}; 

, а затем я добавил значение этого массива, делая зсап, а затем добавляет каждое значение Scanf к массив для цикла, один номер за один раз:

for (int i = 0; i < 1; i++) 
{ 
    money[i] = currentPrice; 
} 

Таким образом, после делать это несколько раз (с зсапЕ) мой массив выглядит следующим образом:

money[] = {50, 75, 1, 40, 4}; 

Как я могу использовать for-loop для прохождения всех элементов в списке и добавления их вместе и распечатки?

int total = blablabla....... 
printf(total); 
+0

позволяют ли Objective-C нулевой матрицы размера ? Потому что это не стандарт C. – juanchopanza

+0

Это вопрос C или Objective-C? Вы не можете динамически изменять размер массивов C, поскольку они являются просто смежными блоками памяти, и вы не используете 'NSMutableArray' и' NSNumber', что было бы более легким решением, если вы хотите использовать Obj-C –

+0

Я пробовал писать NSArray money = { } но это не сработало. Как мне это сделать? И как мне добавить числа в массив, используя scanf? – aliazik

ответ

-1
int total = 0; 
for (int i = 0; i < arrayCount; i++) { 
    total += money[i]; 
} 

printf("%i", total); 

Обратите внимание, что вам нужно сохранить ссылку на число Интс в массиве.

Кроме того, я должен указать, что ваш код:

for (int i = 0; i < 1; i++) 
{ 
    money[i] = currentPrice; 
} 

Не добавлять значения в массив это просто переписав значение currentPrice на 0-й индекс массива. Поэтому ваш массив никогда не будет иметь длину> 1.

Отъезд this tutorial

Вот простой пример добавления Интс в массив с помощью зсапЕ:

#include <stdio.h> 

#define MAX_COUNT 10 

int myArr[10]; 
int currentCount = 0; 

void addInt(); 

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


    for (int i = 0; i < MAX_COUNT; i++) { 
     addInt(); 
    } 
    int total = 0; 
    for (int i = 0; i < MAX_COUNT; i++) { 
     total += myArr[i]; 
    } 
    printf("%i", total); 

    return 0; 
} 

void addInt() { 
    int new; 
    scanf("Enter num: %i", &new); 
    myArr[currentCount] = new; 
    // Keep reference of number of elements in array... 
    currentCount++; 
} 
+0

Как мне получить массив? – aliazik

+0

Когда вы добавляете значение в массив, вам нужно иметь еще один int, который отслеживает счет (самый простой вариант). См. [Этот вопрос SO] (http://stackoverflow.com/questions/10290610/how-can-i-find-the-number-of-elements-in-an-array) для более подробной информации. –

+0

Этот сайт заблокирован в моей стране. Можете ли вы указать пример кода, как добавить целочисленные значения в массив, используя scanf? – aliazik