Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Массивы

Ответить
Настройки темы
C/C++ - Массивы

Аватара для SarGon4eg

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток. Начал изучать Си, решаю задачки, попалась следующая:
"Дан одномерный массив из 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();
}

Отправлено: 15:05, 15-02-2011

 

Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


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

Отправлено: 19:17, 15-02-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Мне не нравится эта строка, тип массива int а вычисления с точками.
Код: Выделить весь код
array[i] = 0.0 + 51.0 * rand() / RAND_MAX;
Цитата SarGon4eg:
состоящий из случайных целых чисел в диапазоне от 0 до 50 »
Код: Выделить весь код
array[i] = rand() % 50 // RAND_MAX;
Ну и инициализировать немного непомешает.
Код: Выделить весь код
int array[1000] = {0};

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 21:07, 15-02-2011 | #3


Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


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

Отправлено: 17:49, 16-02-2011 | #4

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:39, 16-02-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Массивы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Двумерные массивы Hardcore Программирование и базы данных 3 05-10-2010 22:35
C/C++ - Программа на массивы. soon-end Программирование и базы данных 1 20-05-2010 00:34
C/C++ - Массивы SS3 Программирование и базы данных 3 29-04-2009 21:47
Массивы в С++ Guest Программирование и базы данных 2 27-09-2004 10:12
C++ и массивы ? IG Программирование и базы данных 9 09-06-2003 09:33




 
Переход