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

Одномерные массивы - C++

Восстановить пароль Регистрация
 
Alecia
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 29
08.01.2011, 17:58     Одномерные массивы #1
Нужна помощь:
как в одномерном массиве, в котором не задан размер, найти первый и последний элементы???
Например, даны две задачки:
1) Дан массив int arr[]={4,6,1,2,4,5,9,3}. Вывести на экран сумму первого и последнего элемента этого массива.
2) Дан массив int arr[]={4,6,1,2,4,5,9,3}. Написать инструкцию, по которой меняется 1 и последний элемент массива.

Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 17:58     Одномерные массивы
Посмотрите здесь:

Одномерные массивы! C++
Одномерные массивы C++
C++ одномерные массивы
C++ Одномерные массивы
C++ Одномерные массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vulkan_Sh
3 / 3 / 0
Регистрация: 08.01.2011
Сообщений: 22
08.01.2011, 18:07     Одномерные массивы #2
Цитата Сообщение от Alecia Посмотреть сообщение
Нужна помощь:
как в одномерном массиве, в котором не задан размер, найти первый и последний элементы???
Например, даны две задачки:
1) Дан массив int arr[]={4,6,1,2,4,5,9,3}. Вывести на экран сумму первого и последнего элемента этого массива.
2) Дан массив int arr[]={4,6,1,2,4,5,9,3}. Написать инструкцию, по которой меняется 1 и последний элемент массива.

Заранее спасибо
Наверное , это будет не так красиво но можно так
int k = sizeof(arr) / 4 - 1;
//sizeof -- получаешь размер массива в байтах,
//потом делишь К на размерность типа инт имеет размерность 4 и вычитаешь 1(нумерация с нуля)
//вот и получаешь номер последнего элемента, а далее все просто
int Sum = arr[0] + arr[k];
Alecia
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 29
08.01.2011, 18:12  [ТС]     Одномерные массивы #3
Цитата Сообщение от Vulkan_Sh Посмотреть сообщение
Наверное , это будет не так красиво но можно так
int k = sizeof(arr) / 4 - 1;
//sizeof -- получаешь размер массива в байтах,
//потом делишь К на размерность типа инт имеет размерность 4 и вычитаешь 1(нумерация с нуля)
//вот и получаешь номер последнего элемента, а далее все просто
int Sum = arr[0] + arr[k];


Всё довольно просто) Но такой вариант вряд ли подойдет, препод нам про эту функцию не рассказывал. Поэтому потребует решение без неё. Какие еще можно варианты придумать?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.01.2011, 18:35     Одномерные массивы #4
Цитата Сообщение от Alecia Посмотреть сообщение
1) Дан массив int arr[]={4,6,1,2,4,5,9,3}. Вывести на экран сумму первого и последнего элемента этого массива.
C++
1
int sum = arr[0] + arr[sizeof(arr) / sizeof(int) - 1]
Добавлено через 1 минуту
Цитата Сообщение от Alecia Посмотреть сообщение
2) Дан массив int arr[]={4,6,1,2,4,5,9,3}. Написать инструкцию, по которой меняется 1 и последний элемент массива.
C++
1
2
3
int t = arr[0];
arr[0] = arr[sizeof(arr) / sizeof(int) - 1];
arr[sizeof(arr) / sizeof(int) - 1] = t;
Alecia
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 29
08.01.2011, 18:52  [ТС]     Одномерные массивы #5
Ребятки, всем большое спасибо за помощь!))))
Сделала, как вы посоветовали с помощью sizeof
Yandex
Объявления
08.01.2011, 18:52     Одномерные массивы
Ответ Создать тему
Опции темы

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