Страница 1 из 1
Задача с массивами.
Добавлено: 20 дек 2009, 14:44
ailory
Собственно вот.
В массиве все элементы – положительные целые числа и нули. Напечатать суммы и количество чисел расположенных между соседними нулями.Размерности массивов вводить с клавиатуры. Элементы массивов по желанию пользователя вводить с клавиатуры или генерировать случайным образом в заданных пределах. Исходные данные и результаты выводить на экран дисплея в табличном виде.
Буду очень благодарен,за ранее спасибо

Re: Задача с массивами.
Добавлено: 20 дек 2009, 17:42
Newbie
так можно определить все числа лежащие между нулей, дальше подумай сам)
Код: Выделить всё
#include <iostream>
using namespace std;
#include <time.h>
typedef unsigned int uint;
int main()
{
uint n;
srand( (unsigned)time( NULL ) );
cin >> n;
uint *m = new uint[n];
for(int i = 0; i < n; i++)
{
m[i] = rand() % 4;
cout << m[i] << " ";
}
int start = -1, finish = -1;
for(uint i = 0; i < n; i++)
if(!m[i] && start == -1)
start = i;
else
if(!m[i])
{
cout << endl;
for(uint j = start + 1; j < i; j++)
cout << m[j] << " ";
start = i;
}
system("pause");
return 0;
}
Re: Задача с массивами.
Добавлено: 18 фев 2010, 21:28
Danike
Pozhaluista pomogite rewit' zada4ku, ona o4en' legkaya, ya na4inayushyi programmist i tol'ko nedavno na4al izu4at' massivi, vot zada4a: Написать программу, которая для целочисленного массива из 100 элементов определяет, сколько положительных элементов располагается между его максимальным и минимальным элементами. Zaranee bol'woe spasibo!!!

Re: Задача с массивами.
Добавлено: 18 фев 2010, 22:14
rrrFer
Код: Выделить всё
#include <iostream>
using std::cin;
using std::cout;
int main(){
int a[100],n,i,imax,imin,kol;
cin>>n;
for(i=imin=imax=0;i<n;i++){
cin>>a[i];
if(a[i]<a[imin])
imin=i;
if(a[i]>a[imax])
imax=i;
}
if(imin>imax){
imin+=imax;
imax=imin-imax;
imin-=imax;
}
for(i=imin+1,kol=0;i<imax;i++)
kol+=a[i]>0;
cout<<kol;
cin.get(),cin.get();
return 0;
}
Можно так, ИМХО стоило создать новую тему.
Re: Задача с массивами.
Добавлено: 18 фев 2010, 22:22
Danike
Bol'woe Spasibo!!!!!!!!!!!!!