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

В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу - C++

Восстановить пароль Регистрация
 
Bogdan_Fateev
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 10
09.04.2014, 15:06     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу #1
Привет всем. Нужна ваша помощь. Задание:
Задан целочислительный массив с N элементов. В конец записи каждого элемента, который больше числа 10 добавить единицу.
Помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 15:06     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу
Посмотрите здесь:

Дописать единицу впереди и в конце записи натурального числа C++
C++ Удалить элементы кратные 7. Добавить после каждого элемента массива элемент со значенем 0.
Станет ли последовательность упорядоченной, если из записи каждого элемента удалить... C++
В массиве вставить нуль после первого нечетного элемента и единицу перед последним четным элементом C++
C++ Нахождение последнего элемента одномерного числового массива, который больше 1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
09.04.2014, 15:09     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу #2
Цитата Сообщение от Bogdan_Fateev Посмотреть сообщение
В конец записи каждого элемента, который больше числа 10 добавить единицу.
Всмысле в конец записи каждого элемента? Имеется ввиду, если число больше 10 - например 12, то тогда будет 121? Или следующий элемент должен быть 1?
Student100
3 / 3 / 2
Регистрация: 08.04.2011
Сообщений: 27
09.04.2014, 15:11     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
for(i=0;i<n;i++)
if a[i]>10 a[i]=a[i]*10+1;
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
09.04.2014, 15:15     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <array>
 
using namespace std;
 
const int N = 10;
 
int main()
{
    srand(time(0));
    array<int, N> a;
 
    for(array<int, N>::iterator it = a.begin(); it != a.end(); ++it)
    {
        *it = rand() % 20;
        std::cout << *it << " ";
        if(*it > 10)
            *it = *it * 10 + 1;
    }
 
    std::cout << std::endl;
 
    for(array<int, N>::iterator it = a.begin(); it != a.end(); ++it)
        std::cout << *it << " ";
 
    return 0;
}
Bogdan_Fateev
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 10
09.04.2014, 20:24  [ТС]     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу #5
Елемент должен быть "1".

Добавлено через 39 минут
Цитата Сообщение от MarVaL Посмотреть сообщение
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <array>
 
using namespace std;
 
const int N = 10;
 
int main()
{
    srand(time(0));
    array<int, N> a;
 
    for(array<int, N>::iterator it = a.begin(); it != a.end(); ++it)
    {
        *it = rand() % 20;
        std::cout << *it << " ";
        if(*it > 10)
            *it = *it * 10 + 1;
    }
 
    std::cout << std::endl;
 
    for(array<int, N>::iterator it = a.begin(); it != a.end(); ++it)
        std::cout << *it << " ";
 
    return 0;
}
Практически так, но не много нерационально!
Я взял не много с вашей программы. Спасибо за помощь Вышло так:

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
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
//---------------------------------------------------------------------------
void in(int n1,int x[100])
{ randomize();
for(int i=0;i<n1;i++)
x[i]=random(120)-30;
}
void out(int n,int x[100])
{ for(int i=0;i<n;i++)
cout«x[i]«" ";
}
void sort(int n,int x[100])
{ for(int i=0;i<n;i++)
if(x[i]>10) x[i]=x[i]*10+1;
 
}
#pragma argsused
int main(int argc, char* argv[])
{ int a[100],nn;
cout«"Vveditb N = "; cin»nn;
in(nn,a);
out(nn,a);
cout«"\n";
sort(nn,a);
out(nn,a);
getch();
return 0;
}
Добавлено через 31 секунду
Закрывайте.
Yandex
Объявления
09.04.2014, 20:24     В массиве в конец записи каждого элемента, который больше числа 10 добавить единицу
Ответ Создать тему
Опции темы

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