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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
#1

Некорректное отображение элементов массива - C++

06.03.2014, 08:42. Просмотров 280. Ответов 4
Метки нет (Все метки)

Есть одномерный массив последовательных положительных чисел. Когда перемешиваю его элементы случайным образом и вывожу результат на экран, то один или несколько элементов отображаются в виде такого числа: -858993460.

Т.е. как-то так: 2 7 16 1 18 -858993460 5 14 2 -858993460.

Число каждый раз одно и то же, иногда его нет и элементы отображаются как нужно. Подозреваю, что какое-то конкретное число отображается таким набором цифр. Как от этого избавится?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 08:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Некорректное отображение элементов массива (C++):

Некорректное отображение окна - C++
Добрый день . при создание экземпляра окна , задаю стиль со всем нужными мне параметрами , но окно отображается не корректно, не...

Некорректное отображение с функцией gets - C++
Когда использую функцию gets она во-первых, не воспринимает русский текст, хотя я в мейне добавляю setlocale(0,"") во-вторых, даже...

Некорректное отображение строчек анкеты C++ - C++
При введении на экран анкеты происходит некорректное отображение строчек Номер телефона?= Место учебы?=. Подскажите, как это исправить? ...

WxString(4 байта) некорректное отображение значения шестнадцатеричных значений - C++
При отображении считанного MAC адреса в шестнадцатиричном виде(да и в десятичном тоже), в поле wxStaticText отображаются лишние символы,...

Вывод выражения типа "float". Некорректное отображение - C++
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <clocale> #include <stdio.h> #include <stdlib.h> #include <iostream> ...

Некорректное значение числа при заполнении массива рандомными действительными числами - C++
Заполняю массив рандомными действительными числами.Иногда выходит такое значение числа,как в вложенном изображении.Строка 4,столбец...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2014, 09:16 #2
Цитата Сообщение от Donnerwetter Посмотреть сообщение
Как от этого избавится?
Выправить код.
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
06.03.2014, 09:47  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Выправить код.
Вот сам код. Подскажите, пожалуйста, что не так.

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
#include<iostream>
#include<time.h>
using namespace std;
 
void MixFunc(int mas[],int size)
{
    for(int i=0;i<size;i++)
    {
        int tmp;
        tmp=rand()%20+1;
        mas[i]=mas[tmp];
    }
}
 
void PrintMas(int mas[], int size)
{
    for(int i=0;i<size;i++)
    {
        cout<<mas[i]<<" | ";
    }
}
 
void main()
{
        const int size=20;
    int mas[size]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
 
        srand(time(0));
    MixFunc(mas,20);
    PrintMas(mas,20);
}
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.03.2014, 09:53 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
tmp=rand()%20+1;
tmp == 20, это выход за границу массива (последний допустимый индекс 19). +1 нужно убрать.
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
06.03.2014, 09:59  [ТС] #5
alsav22, спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2014, 09:59
Привет! Вот еще темы с ответами:

В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива. [CPP] - C++
В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива, расположенных...

В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между - C++
Помогите исправить программу Задание: В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента...

Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: количество положительных элементов массива; сумму элементов...

Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y - C++
Записать положительные элементы массива X=(x1,x2,…, xn) подряд в массив Y=(y1,y2,…, yk). Определить k – количество положительных...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.03.2014, 09:59
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru