Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2013, 21:32   #1
Анна Седакова
Пользователь
 
Аватар для Анна Седакова
 
Регистрация: 06.10.2013
Сообщений: 22
По умолчанию задачи на массивы

здравствуйте, можете помочь с решением задач на массивы, хотя бы первые три задания, плиииз)
кому не сложно это, конечно)

заранее большое спасибо)
Изображения
Тип файла: jpg программирование 1.jpg (22.1 Кб, 144 просмотров)
Тип файла: jpg программирование 2.jpg (10.8 Кб, 150 просмотров)
Анна Седакова вне форума Ответить с цитированием
Старый 20.10.2013, 21:47   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Что-то изменилось?
http://programmersforum.ru/showthread.php?t=246023

1 и 4 задачи решены вроде бы, что не так?

2.
Код:
int max = arr[0];
for (auto t : arr) if (t > max) max = t;
for (int i = 0; i < n; ++i) if (arr[i] == 1) arr[i] = max;
3.
Код:
std::set<float> m;
for (auto t : arr) m.insert(t);
int result = set.size();
примерно так, суть отражена, может быть что-то напутал (опечатался,. ....).
rrrFer вне форума Ответить с цитированием
Старый 20.10.2013, 21:50   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

3. проверил, работает:
Код:
#include <vector>
#include <set>
#include <iostream>

int main() {
  std::vector<float> a;
  int n = 10;
  for (int i = 0; i < n; ++i)
    a.push_back(i%4);

  std::set<float> m;
  for (auto t : a)
    m.insert(t);

  std::cout << m.size();
}
rrrFer вне форума Ответить с цитированием
Старый 20.10.2013, 21:57   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

второе тоже работает:
Код:
#include <vector>
#include <iostream>
#include <algorithm>

int main() {
	std::vector<int> a;
	int n = 10;
	auto out = [&a] { for (auto t : a) std::cout << t << " "; std::cout << std::endl;};
	
	for (int i = 0; i < n; ++i)
		a.push_back(i%4);
	
	out();

	int max = *max_element(a.begin(), a.end());
	
	for (int &t : a) if (1 == t) t = max;
	
	out();
}
Задание то на массивы - не нравится вектор - смело заменяй на обычный массив - сути это не изменит.
Примеры с массивами тут смотри, например: http://www.cplusplus.com/reference/a...kw=max_element
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на массивы GamBitFRK Помощь студентам 3 22.12.2011 23:22
Задачи на массивы си++ Asura Помощь студентам 0 15.12.2011 23:27
массивы задачи ирен Паскаль, Turbo Pascal, PascalABC.NET 1 21.12.2010 21:43
Задачи на массивы Hichcog Помощь студентам 4 27.11.2010 10:17
2 задачи на массивы(Си) Molotok Помощь студентам 5 22.12.2008 21:19