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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2013, 16:53   #1
eXp1osive
 
Регистрация: 17.10.2012
Сообщений: 8
По умолчанию Одномерный массив

Условие: Вывести начальные индексы всех непрерывных последовательностей неотрицательных чисел, длина которых больше 5.

Похожая задача с условием: Дан массив размером 100. Заполнить его случайными числами в диапазоне от -100 до 100. Вывести начальные индексы всех непрерывных последовательностей неотрицательных чисел, длина которых больше 3.
Код:
#include "stdafx.h"
 #include "iostream"
 #include "time.h"

 using namespace std;

 int main()
 {
 setlocale(LC_ALL, "Russian");

 int ar[100];
 int i, count(0);

 srand(unsigned(time(NULL)));
 for(i=0; i<100; i++){
 ar[i] = (rand()%201) - 100;
 }

 for(i=0; i<100; i++){
 if (ar[i]>0) count++;
 else count = 0;
 if (count == 4) cout << i-3 << endl;
 }

 system("pause");
 return 0;
 }
Помогите сделать первое условие (второе в пример)! Заранее спасибо!

Последний раз редактировалось Stilet; 23.01.2013 в 16:10.
eXp1osive вне форума Ответить с цитированием
Старый 22.01.2013, 17:42   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Помогите сделать первое условие (второе в пример)! Заранее спасибо!
Какого рода помощь Вам нужна? Пожалуйста, заключите приведённый вами код в тег форума CODE и напишите комментарии к непустым строкам - что, по-Вашему, они делают в приведённом коде.
Abstraction вне форума Ответить с цитированием
Старый 23.01.2013, 15:49   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
Подмигивание

Я думаю должно быть что-то похожее, если конечно я верно понял задание.

Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define SIZE 100				// Размер массива

int main()
{
	int arr[SIZE] = {0};		// Объявление статического массива
	int i, count = 0;			// Счетчики
	
	setlocate(LC_ALL, "Russian");
	srand(time(NULL));
	
	printf(" Начальные индексы положительных последовательностей, длина которых больше 5:\n");
	for(i = 0; i < SIZE; i++)
	{
		arr[i] = rand()%100-100;	// Запись в массив случайных чисел от -100 до 100
		if(arr[i] > 0)	count++;	// Если значение в массиве больше 0, т.е положительное увелич. счетчик
		else		count = 0;	// в противном случае обнулить счетчик
		
		if(count == 6)			// Если счетчик индексов больше 5, 
			printf(" %d", i - 5);	// то распечатать начальный индекс этой положительной последовательности
	}
	
	system("PAUSE");
	return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 23.01.2013 в 15:57.
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40