Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Массивы (http://forum.oszone.net/showthread.php?t=199550)

SarGon4eg 15-02-2011 15:05 1613502

Массивы
 
Доброго времени суток. Начал изучать Си, решаю задачки, попалась следующая:
"Дан одномерный массив из 1000 элементов, состоящий из случайных целых чисел в диапазоне от 0 до 50. Найти сумму элементов массива, с начала массива, до первого элемента равного нулю."
Написал банальнейший код, но вот знающие люди говорят, что он не годится для небольшого массива. Почему?
Код прилагается
Код:

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

void main(void)
{
int array[1000];
int i;
int sum=0;
srand((unsigned)time(NULL));
for (i = 0; i < 1000; i++)//random filling an array from 0 to 50
        {
        array[i] = 0.0 + 51.0 * rand() / RAND_MAX;
        cout<<array[i]<<" ";
        }

for (i = 0; i < 1000; i++)//finding the sum
        {
        if (array[i] ==0) break; //checking for 0 element
        sum = sum + array[i];
        }
cout<<"\nSum="<<sum<<"\n\nPress any key to continue...";
getch();
}


Beyound 15-02-2011 19:17 1613727

эм.. а что за знающие люди и где тут массив переменной длинны??? я лично вижу тут только массив на 1000 элементов и все. задача решена вполне корректно.

Drongo 15-02-2011 21:07 1613827

Мне не нравится эта строка, тип массива int а вычисления с точками.
Код:

array[i] = 0.0 + 51.0 * rand() / RAND_MAX;
Цитата:

Цитата SarGon4eg
состоящий из случайных целых чисел в диапазоне от 0 до 50 »

Код:

array[i] = rand() % 50 // RAND_MAX;
Ну и инициализировать немного непомешает.
Код:

int array[1000] = {0};

Beyound 16-02-2011 17:49 1614587

ну если строго то rand()%51 - это от 0 до 50 включительно.

pva 16-02-2011 18:39 1614623

К решению нет претензий. Даже показалось что "знающие люди" знают больше, чем есть на самом деле :) Я бы только к стилю придрался, но это сугубо индивидуальное.


Время: 06:26.

Время: 06:26.
© OSzone.net 2001-