Форум программистов, компьютерный форум CyberForum.ru

Одномерный массив - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
18.05.2011, 16:57     Одномерный массив #1
Помогите пожалуйста!!!
1)Сформировать одномерный массив используя датчик случайных чисел
2)Распечатать полученный массив
3)Удалить последний элемент равный 0
4)Добавить после элемента с заданным индексом элемент со значением 100
5)Распечатать полученный массив
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 16:57     Одномерный массив
Посмотрите здесь:

Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив C++
Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов) C++
Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию C++
Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
18.05.2011, 19:41     Одномерный массив #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
#include <iterator>
 
int main () {
    const int SIZE = 10;
    std::vector <int> vec (SIZE);
    // 1
    srand (time (NULL));
    std::generate (vec.begin (), vec.end (), [] () -> int { return rand () % 10; });
    // 2
    std::cout << "Start array: ";
    std::copy (vec.begin (), vec.end (), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
    // 3
    if (std::find (vec.begin (), vec.end (), 0) != vec.end ()) {
        vec.erase (std::find (vec.rbegin (), vec.rend (), 0).base () - 1);
    } else
        std::cout << "Zero element not found.\n";
    // 4
    int idx;
    std::cout << "Enter index: ";
    std::cin >> idx;
    const int val = 300;
    vec.insert (vec.begin () + idx, val);
    //
    std::cout << "Finish array: ";
    std::copy (vec.begin (), vec.end (), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
18.05.2011, 19:47  [ТС]     Одномерный массив #3
Цитата Сообщение от neske Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
#include <iterator>
 
int main () {
    const int SIZE = 10;
    std::vector <int> vec (SIZE);
    // 1
    srand (time (NULL));
    std::generate (vec.begin (), vec.end (), [] () -> int { return rand () % 10; });
    // 2
    std::cout << "Start array: ";
    std::copy (vec.begin (), vec.end (), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
    // 3
    if (std::find (vec.begin (), vec.end (), 0) != vec.end ()) {
        vec.erase (std::find (vec.rbegin (), vec.rend (), 0).base () - 1);
    } else
        std::cout << "Zero element not found.\n";
    // 4
    int idx;
    std::cout << "Enter index: ";
    std::cin >> idx;
    const int val = 300;
    vec.insert (vec.begin () + idx, val);
    //
    std::cout << "Finish array: ";
    std::copy (vec.begin (), vec.end (), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
А этот код я так понимаю для С ???
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
18.05.2011, 19:48     Одномерный массив #4
Язык С++.
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
18.05.2011, 19:53  [ТС]     Одномерный массив #5
Цитата Сообщение от neske Посмотреть сообщение
Язык С++.
Ошибку выдаёт на NULL
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
18.05.2011, 20:19     Одномерный массив #6
Попробуйте
C++
1
srand (time (0));
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
18.05.2011, 20:36  [ТС]     Одномерный массив #7
Цитата Сообщение от neske Посмотреть сообщение
Попробуйте
C++
1
srand (time (0));
Всё равно!!!
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
18.05.2011, 23:51     Одномерный массив #8
Скопируйте ошибку сюда.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
18.05.2011, 23:57     Одномерный массив #9
Может, ошибку на srand выдаёт? Попробовать подключить cstdlib?
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
19.05.2011, 00:28     Одномерный массив #10
При генерации рандомных чисел cstdlib нужно обязательно подключать.

C++
1
2
3
4
5
6
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
#include <iterator>
#include <cstdlib>
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
31.05.2011, 22:42  [ТС]     Одномерный массив #11
Может кто-нибудь поможет с 3, 4 и 5 пунктами разобраться вот что я наработала
Код
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#define n 10
#include <stdlib.h >
#include <time.h >
void main()

{
clrscr;
int arr[n];
srand(time(NULL));
for(int i=0; i<n; i++)
{
arr[i]=rand()%10; //задается датчик случайных чисел
}
for(int i=0;i<n;i++)
cout<<arr[i]<<endl; // печатает массив
getch();
}
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 22:45     Одномерный массив #12
Ну все правильно, только i забыли.
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
01.06.2011, 21:28  [ТС]     Одномерный массив #13
Цитата Сообщение от Nursik77 Посмотреть сообщение
Ну все правильно, только i забыли.
Этот код работает!!!Мне бы дальше сдвинуться

Добавлено через 22 часа 38 минут
Люди помогите пожалуйста!!!
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
04.06.2011, 13:20  [ТС]     Одномерный массив #14
Что никто не знает чтоли????
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
08.06.2011, 19:47  [ТС]     Одномерный массив #15
Ребята помогите пожалуйста доделать, а то сдавать уже 10.06 надо а у меня только два пункта готово!!
kjahert
48 / 48 / 5
Регистрация: 08.04.2011
Сообщений: 124
08.06.2011, 20:11     Одномерный массив #16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#define n 10
#include <stdlib.h >
#include <time.h >
void main()
 
{
clrscr;
int arr[n];
srand(time(NULL));
for(int i=0; i<n; i++)
{
arr[i]=rand()%10; //задается датчик случайных чисел
}
for(i=0;i<n;i++)
cout<<arr[i]<<endl; // печатает массив
 
int ind = 0;
        for (i=0; i<n; i++)
        {
                cout << arr[i] << " ";
                //определение индекса последнего нулевого элемента
                if (arr[i] == 0)
                {
                        ind = i;
                }
        }
        cout << endl;
 
        //удаление последнего нулевого 
        for (i = ind; i<n; i++)
        {
                arr[i] = arr[i+1];
        }
cout << "Введите номер элемента, после которого вставить элемент со значением 100: ";
        int number;
        cin >> number;
        for (i=n-1; i > number; i--)
        {
                arr[i] = arr[i-1];
        }
        arr[number] = 100;
     for (i=0;i<n;i++)
     {
      cout<<arr[i]<<" ";
     }
 
 
getch();
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
08.06.2011, 20:34     Одномерный массив #17
kjahert, а если нулевой элемент отсутствует?))
kjahert
48 / 48 / 5
Регистрация: 08.04.2011
Сообщений: 124
08.06.2011, 20:54     Одномерный массив #18
silent_1991, запустите и посмотрите, что будет) , если отсутствует то массив остается такой как был, +добавляется по усмотрению юзера 100 после указанного индекса, алсо, если присутствует, то удаляется только после ввода индекса элемента
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
08.06.2011, 21:04     Одномерный массив #19
kjahert, ок. Заменяем строку 15 на arr[i] = i + 1; Получаем, что (поскольку нулевой элемент не найден) ind останется равным нулю, и при смещении первый элемент массива (с индексом нуль) канет в небытие.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2011, 21:34     Одномерный массив
Еще ссылки по теме:

C++ Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы.
Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив C++
Переписать произвольный одномерный массив в другой массив в обратном порядке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Елена Погодина
 Аватар для Елена Погодина
4 / 4 / 1
Регистрация: 23.10.2010
Сообщений: 161
08.06.2011, 21:34  [ТС]     Одномерный массив #20
Цитата Сообщение от kjahert Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#define n 10
#include <stdlib.h >
#include <time.h >
void main()
 
{
clrscr;
int arr[n];
srand(time(NULL));
for(int i=0; i<n; i++)
{
arr[i]=rand()%10; //задается датчик случайных чисел
}
for(i=0;i<n;i++)
cout<<arr[i]<<endl; // печатает массив
 
int ind = 0;
        for (i=0; i<n; i++)
        {
                cout << arr[i] << " ";
                //определение индекса последнего нулевого элемента
                if (arr[i] == 0)
                {
                        ind = i;
                }
        }
        cout << endl;
 
        //удаление последнего нулевого 
        for (i = ind; i<n; i++)
        {
                arr[i] = arr[i+1];
        }
cout << "Введите номер элемента, после которого вставить элемент со значением 100: ";
        int number;
        cin >> number;
        for (i=n-1; i > number; i--)
        {
                arr[i] = arr[i-1];
        }
        arr[number] = 100;
     for (i=0;i<n;i++)
     {
      cout<<arr[i]<<" ";
     }
getch();
ошибка вылазит в 23 строке
Yandex
Объявления
08.06.2011, 21:34     Одномерный массив
Ответ Создать тему
Опции темы

Текущее время: 15:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru