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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.91
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
#1

Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 - C++

13.05.2009, 14:22. Просмотров 4049. Ответов 8
Метки нет (Все метки)

Доброго всем времени суток!
Возникли затруднения с парой задач на массивы.
1. В одномерном массиве увеличить элементы с четными индексами на 1, а с нечетными - на 2. (логически, блин, все понятно, а вот с созданием программы проблема=) )

2. Двумерный массив: в строке матрицы с максимальным элементом обнулить все элементы, кроме максимального. (та же проблема=))

Как говорится, помогите кто чем может=)
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2009, 14:22     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2
Посмотрите здесь:

Вывести элементы массива с четными/нечетными индексами - C++
3. Дан массив размера N. Вывести вначале его элементы с четными1|нечетными2 индексами, а затем — с нечетными1|четными2.

Поменять местами элементы массива с четными и нечетными индексами - C++
//Дан массив целых чисел. Воспользовавшись указателями, //поменяйте местами элементы массива с четными и нечетными индексами //(т.е. те...

Увеличить элементы массива с нечетными индексами на два - C++
Напишите программу, которая увеличит элементы массива с нечетными индексами на «2». Ввод данных в одномерный целочисленный массив...

Поменять местами элементы массива с четными и нечетными индексами (через указатели) - C++
Вот задача: Дан массив целых чисел. Воспользовавшись указателями, поменяйте местами элементы массива с четными и нечетными индексами...

Поменять местами элементы массива с четными и нечетными индексами (использовать указатели) - C++
В массиве поменять местами элементы с четными и нечетными индексами. Использовать указатели.

Поменять местами элементы массива с четными и нечетными индексами используя указатели - C++
Поменять местами элементы массива с четными и нечетными индексами используя указатели Ну вот не знаю как сделать, честно... Мой...

Воспользовавшись указателями, поменяйте местами элементы массива с четными и нечетными индексами - C++
Решить задачи через Указатели... 3. Дан массив целых чисел. Воспользовавшись указателями, поменяйте местами элементы массива с четными...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
13.05.2009, 14:34     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <algorithm>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/if.hpp>
using namespace boost::lambda;
 
/*
В одномерном массиве увеличить элементы с четными индексами на 1, а с нечетными - на 2.
*/
 
template <typename T, const size_t N>
void inc(T (&arr)[N])
{
    size_t i=0; 
    std::transform(arr, arr+N, arr, if_then_else_return(var(i)++ & 1, _1 + 2, _1 + 1));
}
 
int main()
{
    int arr[] = {1,2,3,4,5,6};
    inc(arr);
 
    return 0;
}
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
13.05.2009, 16:00     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #3
1.
C++
1
2
3
4
5
6
7
8
9
10
11
    int x[10] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512};
    
    for(int i = 0; i < 10; i++)
    {
            if(x[i] % 2 == 0)
                 x[i] += 1;          
            else 
                 x[i] += 2;
                 
                cout << x[i] << " ";
    }
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
13.05.2009, 20:28  [ТС]     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #4
большое спасибо!
для того,чтобы в конце отображался измененный массив, нужно в printf просто переменную указать?
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
13.05.2009, 23:59     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #5
Цитата Сообщение от acd Посмотреть сообщение
большое спасибо!
для того,чтобы в конце отображался измененный массив, нужно в printf просто переменную указать?
Какую переменную?

Это не переменная, это массив с измененными элементами.
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
14.05.2009, 00:13     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #6
acd,
где-то тут я уде делал универсальную функцию вывода на экран любого массива.
добавляешь её в программу и можно выводить так:
std::cout << arr << std::endl;
самому искать влом, может тебе повезёт... называется она operator <<
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
14.05.2009, 16:50  [ТС]     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #7
Цитата Сообщение от Rififi Посмотреть сообщение
acd,
где-то тут я уде делал универсальную функцию вывода на экран любого массива.
добавляешь её в программу и можно выводить так:
std::cout << arr << std::endl;
самому искать влом, может тебе повезёт... называется она operator <<
чет он ругается))
а через prinf нельзя?

Добавлено через 1 час 41 минуту 44 секунды
Ох-хо-хо
додумался,как через printf сделать, заработало!
Всем еще раз спасибо.
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
14.05.2009, 17:20     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #8
а через prinf нельзя?
если через printf, то надо будет самому цикл крутить, а я слишком ленив для этого Ж)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2009, 18:15     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2
Еще ссылки по теме:

Сформировать массив, у которого вначале расположены элементы массива А с нечетными индексами, затем с четными - C++
Дан массив А(20). Найти максимальный элемент среди положительных элементов массива А и сформировать массив Р(20), у которого вначале...

В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. - C++
В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. Помогите, пожалуйста. Хотя бы...

Упорядочить элементы массива с нечетными индексами - C++
Написать программу упорядочивания элементов массива, имеющих нечетные индексы по возрастанию или убыванию в зависимости от запроса ...

В массиве определить произведение элементов с четными индексами и сумму элементов с нечетными индексами - C++
Создание многомодульных программ ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ. -Составить программу,содержащую функции согласно заданного варианта ...

Найти элементы массива с четными индексами - C++
Написал программу которая выводит элементы массива с ЧЕТНЫМИ индексами. int main(){ int mass; int n; cin&gt;&gt;n; for(int...


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

Или воспользуйтесь поиском по форуму:
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
14.05.2009, 18:15  [ТС]     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2 #9
по второй задаче: правильно ли я нахожу макс. элемент?(матрицу надо самому вводить)
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
#include<stdio.h>
#include<conio.h>
#define n 3
 
void main(void)
{
int mas[3][3];
int imax,jmax,i,j,max;
clrscr();
printf("Sostavil: acd\n");
for(i=0;i<3;i++)
    for(j=0;j<3;j++)
         {
         printf("Vvedite [%i][%i] element massiva:",i,j);
         scanf("%i",&mas[i][j]);
         }
    puts("\nVvedena matrica:");
for(i=0;i<3;i++)
    for(j=0;j<3;j++)
         {
         if(j==3-1) printf("%i\n",mas[i][j]);
         else printf("%i",mas[i][j]);
         }
max=mas[0][0];imax=0;jmax=0;
for(i=0;i<3;i++)
    for(j=0;j<3;j++)
    {
    if(mas[i][j]>max)
        {
        max=mas[i][j];
        imax=i;
        jmax=j;
        }
    }
Yandex
Объявления
14.05.2009, 18:15     Увеличить элементы массива с четными индексами на 1, а с нечетными - на 2
Ответ Создать тему
Опции темы

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