Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/32: Рейтинг темы: голосов - 32, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
1

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

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

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

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

Как говорится, помогите кто чем может=)
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2009, 14:22
Ответы с готовыми решениями:

Элементы массива X[N] с четными индексами увеличить на третий, а с нечетными – уменьшить на первый элемент
Элементы массива X с четными индексами увеличить на тре- тий, а с нечетными – уменьшить на первый...

Сформировать два массива, включая в первый четные элементы исходного массива с нечетными индексами, а во второй нечетные элементы с четными индексами
Задан массив размером K. Сформировать два массива, включая в первый четные элементы исходного...

Вывести элементы массива с четными индексами, затем элементы массива с нечетными индексами
Помогите програамму написать Составить программу, которая вводит с клавиатуры 10 целых чисел...

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

8
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
13.05.2009, 14:34 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;
}
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
13.05.2009, 16:00 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] << " ";
    }
1
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
13.05.2009, 20:28  [ТС] 4
большое спасибо!
для того,чтобы в конце отображался измененный массив, нужно в printf просто переменную указать?
0
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
13.05.2009, 23:59 5
Цитата Сообщение от acd Посмотреть сообщение
большое спасибо!
для того,чтобы в конце отображался измененный массив, нужно в printf просто переменную указать?
Какую переменную?

Это не переменная, это массив с измененными элементами.
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
14.05.2009, 00:13 6
acd,
где-то тут я уде делал универсальную функцию вывода на экран любого массива.
добавляешь её в программу и можно выводить так:
std::cout << arr << std::endl;
самому искать влом, может тебе повезёт... называется она operator <<
0
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
14.05.2009, 16:50  [ТС] 7
Цитата Сообщение от Rififi Посмотреть сообщение
acd,
где-то тут я уде делал универсальную функцию вывода на экран любого массива.
добавляешь её в программу и можно выводить так:
std::cout << arr << std::endl;
самому искать влом, может тебе повезёт... называется она operator <<
чет он ругается))
а через prinf нельзя?

Добавлено через 1 час 41 минуту 44 секунды
Ох-хо-хо
додумался,как через printf сделать, заработало!
Всем еще раз спасибо.
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
14.05.2009, 17:20 8
а через prinf нельзя?
если через printf, то надо будет самому цикл крутить, а я слишком ленив для этого Ж)
0
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
14.05.2009, 18:15  [ТС] 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;
        }
    }
0
14.05.2009, 18:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2009, 18:15
Помогаю со студенческими работами здесь

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

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

Вывести элементы массива с нечетными индексами, потом с четными
Дан масив размерности N Вывести сначала его елементы с непарными индексами, а потом с парными....

Элементы с четными индексами массива увеличить на второй
Нужно решить 2 задачи, с сортировкой массивов я более менее разобрался, но как решать эти задачи,...

Вывести сначала элементы массива с нечетными индексами, а затем с четными
Дан массив размера N. Вывести сначала его элементы с непарными индексами, а затем — с парными.

Вывести вначале элементы массива с четными индексами, а затем - с нечетными.
1. Дан массив размера N. Вывести вначале его элементы с четными индексами, а затем - с нечетными....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru