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

Заменить все трехзначные элементы массива на 100 - C++

Восстановить пароль Регистрация
 
Konus
0 / 0 / 0
Регистрация: 21.06.2014
Сообщений: 15
24.06.2014, 14:12     Заменить все трехзначные элементы массива на 100 #1
помогите пожалуйста, написал код и запутался, так или нет.
Условие: Заполнить одномерный массив А[n] случайными целыми числами от –1000 до +1000 и заменить все трехзначные элементы на 100. Размер массива n вводится с клавиатуры, но n<30.

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
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int main()
{
    int n;
    cout<<"Vvedite razmer masiva "<<endl;
    cin >> n;
    int* a=new int[n];
    for(int i=0;i<n;i++)
 
    srand(time(NULL)|clock());
    {
    for(int i = 0; i < n; ++i)
        a[i] = -1000 + rand() % 2001;
    }
for(int i = 0; i < n; ++i)
cout << "a["<<i<<"]="<<a[i]<<"\t"<<endl;
 
     int i;
    while(a[i]<=-100 || a[i]>100)
     {
        a[i]={100};
    }
cout <<"a["<<i<<"]= "<< a[i];
getch();
delete []a;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2014, 14:12     Заменить все трехзначные элементы массива на 100
Посмотрите здесь:

Если среди элементов массива есть хотя бы одно число больше 100, то все элементы массива поделить на 100. C++
Поменять местами первый и последний элементы. Все единичные элементы массива заменить нулями C++
Все отрицательные элементы массива уменьшить в двое, а все нулевые элементы заменить на... C++
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
C++ Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
24.06.2014, 14:18     Заменить все трехзначные элементы массива на 100 #2
C
1
2
3
4
5
 int i;
    while(a[i]<=-100 || a[i]>100)
     {
        a[i]=100;
    }
i не только не меняется, но и не инициализируется.
Для сравнения без учета знака есть функция abs.
Максимальное трехзначное число 999.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
24.06.2014, 14:21     Заменить все трехзначные элементы массива на 100 #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
#include <iostream>
#include <ctime>
 
int main()
{
    srand(time(NULL)|clock());
    int n;
    std::cout<<"Vvedite razmer masiva "<<std::endl;
    std::cin >> n;
    int* a=new int[n];
    
    for(int i = 0; i < n; ++i)
    {
        a[i] = -1000 + rand()%1000 + 1000;
        std::cout << "a["<<i<<"]="<<a[i]<<"\t"<<std::endl;
        if ((a[i] <= -100 || a[i] >= 100)) 
            a[i] = 100;
    }
 
    for(int i = 0; i < n; ++i)
        std::cout <<"\na["<<i<<"]= "<< a[i];
 
    delete []a;
    system("pause>>null");
}
Konus
0 / 0 / 0
Регистрация: 21.06.2014
Сообщений: 15
24.06.2014, 20:58  [ТС]     Заменить все трехзначные элементы массива на 100 #4
оо спасибо вам большое люди добрые ) буду всё запоминать
Yandex
Объявления
24.06.2014, 20:58     Заменить все трехзначные элементы массива на 100
Ответ Создать тему
Опции темы

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