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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2013, 10:47   #1
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию Создать массив с случайных чисел!

Задания:

1) Сформировать одномерный массив целых чисел, используя генератор случайных чисел.
2) Распечатать полученный массив.
3) Уничтожить элементы, индексы которых кратны 3.
4) Добавить после каждого отрицательного элемента массива элемент со значением | M [I-1] +1 |.
5) Распечатать полученный массив.

Первые два я сделал,но 3 и 4 мне никак не получается.
Буду очень благодарен помощи.

Вот мой код:
Код:
#include <iostream>
#include <conio.h>
using namespace std;
int i,n;
double a[10];
void in() 
{
    cout<<"Enter Num of Elements (n<=10) :"<<endl;
    cin>>n;
    for (i=0;i<n;i++) //
        a[i]=rand()%256;
}
 
void out() 
{
    cout<<"Array: "<<endl;
    for (i=0;i<n;i++)
        cout<<a[i]<<" ";
}
 

void main()
{
    in();
    out();
    getch();
}
DIQUON вне форума Ответить с цитированием
Старый 11.10.2013, 10:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
3) Уничтожить элементы, индексы которых кратны 3.
Теоретически уничтожить - возвести в ноль.
Код:
for(int i=0,k=0;i<10;i++){
 a[k]=a[i];
 if(!(k%3)) k++;
}
for(k++;k<10;k++) a[k]=0;
Цитата:
4) Добавить после каждого отрицательного элемента массива элемент со значением | M [I-1] +1 |.
А если этих элементов больше 10 будет? Массива то не хватит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.10.2013, 11:01   #3
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию

Должно быть в пределах 10.

Программа с вложенным третим заданием должна выглядить так?
Код:
#include <iostream>
#include <conio.h>
using namespace std;
void main() 
{
	int i,n;
	double a[10];
    cout<<"Enter Num of Elements (n<=10) :"<<endl;
    cin>>n;
    for (i=0;i<n;i++) 
    a[i]=rand()%256;

    cout<<"Array: "<<endl;
    for (i=0;i<n;i++)
    cout<<a[i]<<" ";
	
	for(int i=0,k=0;i<10;i++)
	{
	a[k]=a[i];
	if(!(k%3)) k++;
	}
	for(k++;k<10;k++) a[k]=0;

	cout << a[i];

    getch();
}
DIQUON вне форума Ответить с цитированием
Старый 11.10.2013, 12:20   #4
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию

Может все таки кто-то поможет?
DIQUON вне форума Ответить с цитированием
Старый 11.10.2013, 12:49   #5
valeologiya
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 37
По умолчанию

STL можно использовать?
valeologiya вне форума Ответить с цитированием
Старый 11.10.2013, 12:53   #6
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию

нет( стандартный с++.
DIQUON вне форума Ответить с цитированием
Старый 11.10.2013, 13:35   #7
valeologiya
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 37
По умолчанию

Держи, дружище:

Код:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
const int MAXSIZE = 10;
using namespace std;
int i,n;
double a[MAXSIZE];
void in()
{
    cout<<"Enter Num of Elements (n<=10) :"<<endl;
    cin>>n;
    for (i=0;i<n;i++) //
        a[i]=rand()%256 - 128;
}

void out()
{
    cout << "array: "<<endl;
    for (i=0;i<n;i++)
        cout<<a[i]<<" ";
    cout << "n: " << n << endl;
}

void push_element(double element, unsigned int poz){
    if(n >= MAXSIZE){
        cout << "cant't push element, array is full  n:" << n << endl;
        return;
    }
    if(poz > n){
        cout << "cant't push element, poz is so much" << endl;
        return;
    }
    for(int i=n-1; i>=poz; i--){
        a[i+1] = a[i];
    }
    a[poz] = element;
    n++;
}


void delete_element(unsigned int poz){
    if(n==0){
        cout << "cant't delete element, array is empty" << endl;
        return;
    }
    if(poz > n){
        cout << "cant't delete element, poz is so much" << endl;
        return;
    }
    for(int i = poz; i < n-1; i++){
        a[i] = a[i+1];
    }
    n--;
}


int main(int argc, char *argv[])
{
    in();
    out();
    cout << "delete elements"  << endl;
    for(int i = 2; i < n; i+=3){
        delete_element(i);
    }
    out();
    cout << "add elements"  << endl;
    for(int i = 1; i < n; i++){
        if(a[i] < 0){
            push_element(a[i-1]+1, i+1);
            i++;
        }
    }
    out();
    getch();
    return 0;
}
Но не привыкай к халяве. Думай сам. Это медвежья услуга. Просто я С++ забыл. Потренироваться хочу.
valeologiya вне форума Ответить с цитированием
Старый 11.10.2013, 13:42   #8
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию

Огромное тебе спасибо! Я стараюсь делать все сам,но иногда это бывает слишком сложно.
DIQUON вне форума Ответить с цитированием
Старый 11.10.2013, 13:53   #9
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию

У меня теперь другая проблема,та програма что ты написал не работает. Выдает две ошибки:see declaration of 'i' и error C2374: 'i' : redefinition; multiple initialization, как исправить?
DIQUON вне форума Ответить с цитированием
Старый 11.10.2013, 13:55   #10
DIQUON
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 122
По умолчанию

Цитата:
Сообщение от DIQUON Посмотреть сообщение
У меня теперь другая проблема,та програма что ты написал не работает. Выдает две ошибки:see declaration of 'i' и error C2374: 'i' : redefinition; multiple initialization, как исправить?
Кажется зароботало,нужно было запустить в CodeBlocks,а не в визуале.
DIQUON вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив случайных чисел Yriy Общие вопросы C/C++ 14 15.02.2012 20:02
массив + генерация случайных чисел be-be Помощь студентам 1 22.10.2011 18:38
Массив случайных чисел, сред. ариф. vladxxl Общие вопросы C/C++ 1 27.11.2010 23:52
Двухмерный массив случайных чисел AxisNet Паскаль, Turbo Pascal, PascalABC.NET 4 16.09.2009 10:01
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел vipER Помощь студентам 1 22.09.2007 22:08