Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 19:52   #1
7astronavt7
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 4
По умолчанию массив

Задача:
Составить программу заполнения массива числами: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20.
Вот что я написал:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main ()
{
int mas[10];
randomize();
for (int i=0; i<9; i++)
mas[i]=rand()%20;
puts("\n Vi vveli matrix");
for (i=0;i<9; i++)


if (mas[i]%2==0)


cout<<mas[i]<<"\n";}
Но у меня проблема - я указал, чтобы выводились просто четные элементы из диапазона 0 - 20, и в результате выводятся иногда 6 элементов, иногда вообще 3, но мне то нужны все 10 и причем в случайном порядке.
Заранее благодарен!
7astronavt7 вне форума Ответить с цитированием
Старый 20.12.2009, 20:05   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
и в результате выводятся иногда 6 элементов, иногда вообще 3, но мне то нужны все 10 и причем в случайном порядке.
Ну вот мне интересно, вы когда писали это
Код:
mas[i]=rand()%20;
о чем думали ? У вас массив каждый раз будет заполнятся разными числами, поэтому и разное число четных чисел.
BOBAH13 вне форума Ответить с цитированием
Старый 20.12.2009, 20:13   #3
7astronavt7
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 4
По умолчанию

Мне то нужно чтобы присутствовали все 10 чисел в результате, но в разном порядке, это как раз и не могу сделать
7astronavt7 вне форума Ответить с цитированием
Старый 20.12.2009, 20:26   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Код:
for(;;)
{
  mas[i]=rand()%20;
  if(mas[i] % 2 == 0)
  {
    break;
  }
}
как я понял...

Edit:
можете попробуете и подумайте своей головой ? она ведь зачем то вам дана все таки. Причем тут одно число я так и не понял

Последний раз редактировалось BOBAH13; 20.12.2009 в 20:50.
BOBAH13 вне форума Ответить с цитированием
Старый 20.12.2009, 20:32   #5
7astronavt7
Новичок
Джуниор
 
Регистрация: 20.12.2009
Сообщений: 4
По умолчанию

теперь в результате получается только 1 число..?
Я вставил в свою прогу то что вы написали и теперь выводится в результате не целый массив из 10 элементов, а только 1 элемент - четный и принадлежащий промежутку от 0 до 20
P. S. Вопрос стоит не в моем умении думать, а в том, что я просто не знаю оператора, который заполняет массив 10 элементами в случайном порядке (я например только знаю как заполнить массив числами допустим от 0 и до 100), я думал, что в таких темах помогают решить вопросы и найти ошибки, а не советуют думать головой, чтобы решить задачи.

Последний раз редактировалось 7astronavt7; 20.12.2009 в 21:18.
7astronavt7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
си массив pif Помощь студентам 3 14.11.2009 17:22
массив логарифм Паскаль, Turbo Pascal, PascalABC.NET 9 18.05.2009 23:46
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06