2 / 2 / 3
Регистрация: 22.10.2014
Сообщений: 26
1

Дан одномерный массив целых чисел, заполненный случайным образом числами из промежутка [-a;b]. Вставить элемен

27.10.2014, 21:57. Показов 2891. Ответов 8
Метки нет (Все метки)

Помогите пожалуйста
Я только учусь С++. Так что не ругайтесь, вот что смог сделать я!

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
#include <stdio.h>
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
int main(void)
{
    setlocale(LC_All, "Russian");
    int a = -100;                                                                     // Начальное значение массива;
    int b = 100;                                                                      // Конечное значение массива;
    int elements = 100;                                                           // Количество элементов массива;
    int  i, k, c, pos_cifra, now, now2;
    cout << "Введите значение k (от 0 - 9) :";
    cin >> k;
    for (i = 0; i<=elements; i++){
        int mas[i] = a + rand() % b;
        cout << mas[i] << " ";
    }
    for (i = 0; i <= count elements; i++){                                   // - Это бред мне кажется. Не знаю как подсчитать количесвто элементов в массиве;
        int now = c[i];                                                           //  Получаем текущий элемент, во временную переменную; 
        if (now < 0){                                                             //  Если знаение отрицательное, то переведём его в положительное;
            int now2 = now * (-1);
        }
        else (now2 == now){                                                    // Если значение положительное, то таковым его и оставляем. Работаем только с новой переменной;             
            pos_cifra = round(((now2 / 10) - floor(now2 / 10)) * 10)           // Выводим последнюю цифру за запятую;
        }
        if (pos_cifra == k){
            
                                                                                                   // - Не знаю, запутался !!
        }
                           
    {
 
    }
    system("pause");
    return 0;
}
Вообщем, необходимо что выглядело как-то так (как я понял) на экране :
Начальное значение массива: -100
Конечное значение массива: 100
Количество элементов массива: 100
ведите значение k: 5 - например
Массив(например от промежутка - 100 до 100 (рандом):
{-89 -75 -55 .... 65 75 89}
Новый массив:
{-89 5 -75 5 5 - 55 5 ... 5 65 5 5 75 5 89}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2014, 21:57
Ответы с готовыми решениями:

дан одномерный массив целых чисел заполненный случайным образом числами из промежутками [a,b]. Удалить из него все элеме
с++

Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками,...

Дан двумерный массив размером 5х6, заполненный случайным образом
Дан двумерный массив размером 5х6, заполненный случайным образом. Заменить максимальный элемент...

Дан двумерный массив размером nxm, заполненный случайным образом
23. Дан двумерный массив размером nхm, заполненный случайным образом. Определить, есть ли в данном...

8
7167 / 6142 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
28.10.2014, 08:11 2
Почему сам массив-то не объявлен? И что там надо заменять?
0
2 / 2 / 3
Регистрация: 22.10.2014
Сообщений: 26
28.10.2014, 15:40  [ТС] 3
Я же просто набросал, я не знаю ещё как задать массив на интервале, как разбить этот рандомный массив, чтобы определить последнее число ( например числа 125), равное введённой нами цифре k (например 5), не знаю как в этот массив вписать спереди числа и сзади число k ( 5), чтобы в массиве было так 5 125 5.
0
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
28.10.2014, 16:57 4
Лучший ответ Сообщение было отмечено Italy как решение

Решение

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
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
 
 
 
int main()
{
    std::vector<int> mas, newmas;
    const int n = 100;
    int chotnost = 1, k;
    srand(time(NULL));
    std::cout << "Vvedite K" << std::endl;
    std::cin >> k;
    for (size_t i = 0; i < n; i++)
        mas.push_back(rand()%201-100);
    std::vector<int>::iterator iter;
    for (iter = mas.begin(); iter != mas.end(); iter++)
        std::cout << *iter << " ";
    std::cout << std::endl;
    std::sort(mas.begin(), mas.end());
    for (iter = mas.begin(); iter != mas.end(); iter++)
    {
        newmas.push_back(*iter);
        chotnost++;
        if (chotnost % 2 == 0)
            newmas.push_back(k);
        else 
        {
            newmas.push_back(k);
            newmas.push_back(k);
        }
    }
    std::cout << "New mas" << std::endl;
    for (iter = newmas.begin(); iter !=newmas.end(); iter++)
        std::cout << *iter << " ";
    std::cout << std::endl;
    system("pause");
    return 0;
}
1
2 / 2 / 3
Регистрация: 22.10.2014
Сообщений: 26
28.10.2014, 19:17  [ТС] 5
Уууух ты, большое спасибо, всё работает
Прошу прощения, я писал, что только изучаю C++ и не могли бы вы расписать строчки, хочу понять и изучить, немного не понимаю некоторые функции и как они задавались
Кстати, вывел новый массив, с заданной цифрой k ( =6), всё сделано правильно, вот только в новый массив выходит немного не правильно.

Выходит:
- 100 6 - 98 6 6 - 97 6 6 -96 6 и т.д. но числа - 98 и 97 не заканчиваются на 6 ?

Добавлено через 28 минут
А цифра k(= 6 ) должна стоять только после тех чисел, которые заканчиваются на 6.
0
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
28.10.2014, 19:39 6
Лучший ответ Сообщение было отмечено Italy как решение

Решение

Сорри, не правильно понял. Показалось что надо -100 K -99 KK -88 K.....
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
#include <iostream>          // ввод/вывод
#include <vector>           // вектор - массив такой, STL
#include <ctime>             // работа со временем,за счёт неё псевдорандомм генерируется
#include <algorithm>         // библиотека где алгоритм сортировки
 
 
 
int main()
{
    std::vector<int> mas, newmas; // задаём масивы типа инт
    const int n = 100;            // скока элементов
    int k, z;                   // K какой чилос вставляем, Z после которого вставляем K
    srand(time(NULL));              // псевдорандом
    std::cout << "Vvedite K" << std::endl;   
    std::cin >> k;         
    std::cout << "Vvedite Z" << std::endl;
    std::cin >> z;
    for (size_t i = 0; i < n; i++)              
        mas.push_back(rand() % 201 - 100);       // заполняем первый массив n элементами       
    std::sort(mas.begin(), mas.end());           // сортируем
    std::vector<int>::iterator iter;             // объявление итератора, через него обращаемся к элементам вектора
    for (iter = mas.begin(); iter != mas.end(); iter++)     // цикл, с первого по последний
        std::cout << *iter << " ";                          // выводим
    std::cout << std::endl;
    for (iter = mas.begin(); iter != mas.end(); iter++)          
    {
        newmas.push_back(*iter);                      // вставляем во второй новый массив элементы из певрого
        if (abs(*iter) % 10 == z)                     // остаток от деления(последняя цифра в числе) если да то вставляем K
            newmas.push_back(k);
    }
    std::cout << "New mas" << std::endl;
    for (iter = newmas.begin(); iter != newmas.end(); iter++)
        std::cout << *iter << " ";
    std::cout << std::endl;
    system("pause");
    return 0;
}
1
2 / 2 / 3
Регистрация: 22.10.2014
Сообщений: 26
28.10.2014, 21:29  [ТС] 7
Дааа, круто, спасибо вам большое !!!
А ещё одно, не по задаче, не подскажите, как хорошо и быстро можно выучить С++, книги или сайты какие-то, подскажите, пожалуйста.
0
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
28.10.2014, 21:51 8
Лучший ответ Сообщение было отмечено Italy как решение

Решение

Бьерн Страуструп Язык программирования С++ - сложно пишет, но зато рассказываются многие подводные камни

По алгоритмам:
Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн Алгоритмы: построение и анализ


http://e-maxx.ru
http://algolist.ru
1
2 / 2 / 3
Регистрация: 22.10.2014
Сообщений: 26
28.10.2014, 22:45  [ТС] 9
Благодарю Вас
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2014, 22:45
Помогаю со студенческими работами здесь

Дан массив целых чисел, заполненный случайными числами. Вычислить количество элементов кратных пяти и заменить
Дан массив целых чисел, заполненный случайными числами. Вычислить количество элементов кратных...

Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов
Помогите, пожалуйста. Дан двумерный массив размером nm, заполненный случайным образом. Найти...

Отсортировать (по неубыванию) методом прямого выбора массив целых чисел A[n], n> 100. Массив заполнить случайным образом
Во втором button сортировка не работает. Помогите( ...

Дан массив целых чисел (N=15), заполненный случайным образом числами из промежутка [-25, 31].
помогите пожалуйста написать программу: Дан массив целых чисел (N=15), заполненный случайным...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru