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

arrays_rand - C++

Восстановить пароль Регистрация
 
Alex1205
 Аватар для Alex1205
6 / 6 / 1
Регистрация: 14.01.2011
Сообщений: 81
27.01.2011, 23:19     arrays_rand #1
Всем доброго времени суток! Кто подскажет,как:
1.Модифицировать прогу так,чтобы кол-во элементов в массиве задавал пользователь?
2.Реализовать прогу,которая генерирует 100 чисел от -50 до 50,выводит их на экран,после чего заменяет отрицательные числа на 0,а положительные на 1.Интересная задачка,правда?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7224 / 3286 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
28.01.2011, 13:24     arrays_rand #2
Интересная задачка,правда?
-нет-
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
28.01.2011, 14:36     arrays_rand #3
Alex1205, 3 минуты на набор кода, задача тянет на вторую лабу первого курса. Ничего интересного
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
int main()
{
    int size, i;
    std::cout<<"Enter size:\n> ";
    std::cin>>size;
    int* array = new int[size];
    for(i = 0; i < size; ++i)
        array[i] = rand() % 100 - 50;
 
    std::cout<<"Input array:\n";
    for(i = 0; i < size; ++i)
        std::cout<<array[i]<<' ';
 
    for(i = 0; i < size; ++i)
        array[i] = array[i] < 0 ? 0 : 1;
 
    std::cout<<"Output array:\n";
    for(i = 0; i < size; ++i)
        std::cout<<array[i]<<' ';
 
    delete [] array;
    return 0;
}
odip
28.01.2011, 15:16
  #4

Не по теме:

Какого курса ?
Такие задачи в школе еще делают

NiRamz
209 / 209 / 16
Регистрация: 26.12.2010
Сообщений: 691
28.01.2011, 15:18     arrays_rand #5
M128K145
хотел бы спросить у вас, ткните меня носом что я делаю не правильно и почему у меня вылетают исключения?(
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
#include <iostream>
#include <ctime>
int main()
{
    setlocale(0,"Russian");
    int n;
    int *mas = new int[n];
    srand(time(NULL));
    std::cout << "Введите размер массива:\n";
    std::cin >> n;
    for(int i=0; i < n; ++i){
        mas[i]=rand()%100-50;
    }
    std::cout<<"Начальный массив:\n";
    for(int i = 0; i < n; ++i){
        std::cout<<mas[i]<<' ';}
    
    for(int i = 0; i < n; ++i){
        if(mas[i]< 0){mas[i]=0;}
        else{mas[i]=1;}}
 
    std::cout<<"Полученный массив:\n";
    for(int i = 0; i < n; ++i){
        std::cout<<mas[i]<<' ';}
 
    delete [] mas;
    system("pause");
}
с одиночным числом все хорошо работает, а под массив ни разу не удалось выделить память что бы не вылетела ошибка(
p.s. ваш код работает хорошо.. тукните по голове что бы понял)
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
28.01.2011, 15:22     arrays_rand #6

Не по теме:

Цитата Сообщение от odip Посмотреть сообщение
Какого курса ?
Такие задачи в школе еще делают
А у нас в школе программирования не было



NiRamz, ты при создании динамического массива используешь неинициализированние значени n.
Замени это
C++
1
2
3
4
5
6
        setlocale(0,"Russian");
        int n;
        int *mas = new int[n];
        srand(time(NULL));
        std::cout << "Введите размер массива:\n";
        std::cin >> n;
на это
C++
1
2
3
4
5
6
        setlocale(0,"Russian");
        srand(time(NULL));
        int n;
        std::cout << "Введите размер массива:\n";
        std::cin >> n;
        int *mas = new int[n];
NiRamz
28.01.2011, 15:27     arrays_rand
  #7

Не по теме:

разобрался, просто упустил этот момент и компилятор не выдал ничего.
причем вылетает только после завершения, тоесть выводит все результаты и вылетает)

Yandex
Объявления
28.01.2011, 15:27     arrays_rand
Ответ Создать тему
Опции темы

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