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

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

Войти
Регистрация
Восстановить пароль
 
АДМ
1 / 1 / 0
Регистрация: 04.12.2009
Сообщений: 13
#1

С++Дописать алгоритм - C++

05.12.2009, 07:28. Просмотров 378. Ответов 4
Метки нет (Все метки)

Заданы два массива{xi} и {yi} (i=от 1 до n).
Сформировать массив{cj} по правилу
cj=yi+xi,если xi>yi
cj=xi*max{yi} если xi<yi
пары xi=yi в формировании нового массива не участвуют.



...
C++
1
2
3
4
5
6
7
8
9
10
11
12
nt maxy=y[0];                 
for (int i=1;i<n;i++) 
if (maxy<y[i]) maxy=y[i];  //находим максимальное в массиве у
...
int j=0;
for (int i=0;i<n;i++) 
if (x[i]!=y[i]) j++;   //узнаем количество элементов в массиве с 
...
j=0;
for (int i=0;i<n;i++) 
{if (x[i]>y[i]) c[j++]=x[i]+y[i];
else if (x[i]<y[i]) c[j++]=x[i]*maxy;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2009, 07:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С++Дописать алгоритм (C++):

Помогите дописать( исправить код) алгоритм - C++
Условие Некоторые компании являются совладельцами других компании, так как приобрели часть их акций. Говорят, что компания А...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар) - C++
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная головоломка). Определение. Перестано́вочные...

C++ / дописать в текст - C++
Вобщем программа читает из файла текст, заменяет нужные слова и выводит его. Но надо чтобы при выводе ещё вставлялись некоторые слова...

Дописать программу на С++ - C++
#include&lt;iostream.h&gt; #include&lt;math.h&gt; struct List { float fi,r,z; int n; }; void vvod (List &amp;, int); void vivod (List...

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

4
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
05.12.2009, 11:49 #2
Подсчёт размера массива с можно запулить прямо в его вычисление:
C++
1
2
3
4
5
6
int csize=0;
for(int i=0; i<n; ++i)
    if(x[i]>y[i])
       c[csize++] = y[i] + x[i];
    else if(x[i]<y[i])
        c[csize++] = x[i]*maxy;
Так что тебе дорабатывать-то надо?
0
АДМ
1 / 1 / 0
Регистрация: 04.12.2009
Сообщений: 13
05.12.2009, 13:06  [ТС] #3
прошу прощение за свою неграмотность(программирование для меня это совсем новое) куда поставить часть твоего кода?вместо
C++
1
2
3
4
j=0;
for (int i=0;i<n;i++) 
{if (x[i]>y[i]) c[j++]=x[i]+y[i];
else if (x[i]<y[i]) c[j++]=x[i]*maxy;}
0
vova_c
5 / 5 / 0
Регистрация: 03.12.2009
Сообщений: 19
06.12.2009, 15:24 #4
Nick Alte, Массив может быть ли бо статический либо динамический, а для этого надо знать сколько элементов массиве с будет! Подсчет он ведеться для дальнейшего создания массива:
C++
1
int []c=new int [j]
Nick Alte, чем отличаеться

C++
1
2
3
for (int i=0;i<n;i++) 
{if (x[i]>y[i]) c[j++]=x[i]+y[i];
else if (x[i]<y[i]) c[j++]=x[i]*maxy;}
от
C++
1
2
3
4
5
for(int i=0; i<n; ++i)
    if(x[i]>y[i])
       c[csize++] = y[i] + x[i];
    else if(x[i]<y[i])
        c[csize++] = x[i]*maxy;
?
Помойму переменной j и сsize))


З.Ы. пример АДМ, был взят из темы Алгоритмы массивов(одномерного и двумерного)
0
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
06.12.2009, 22:26 #5
Заранее известно, что размер массива c не может превышать размеров x и y. Значит, можно выделить память соответствующего размера и не использовать часть. Чтобы знать, куда не соваться, и используется csize.
Впрочем, я и впрямь не слишком вглядывался в приведённый им код, вот и написал почти то же самое.
Ну а вообще становится просто неясен смысл вопроса. Какого чёрта лысого он хочет, задавая вопрос и тут же приводя решение? Так можно написать "Пожалуйста, помогите посчитать, сколько будет 2+2! Это 4, но я что-то не соображу, что к чему...". Ну и зачем оно всё?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2009, 22:26
Привет! Вот еще темы с ответами:

Дописать Exe - C++
Добрый день! Есть EXE файл, программка Wi-Fi для кпк, но недописанная, не хватает настроек, разработчик отказался от продолжения. ...

дописать программу - C++
помогите пожалуйста дописать программу,по блок-схеме углы вроде написал,но правильно ли? #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

дописать задачу - C++
Дан массив из n целых чисел. Удалить из массива все элементы, равные максимальному значению элементов массива. Найти значение и положение...

Дописать программу - C++
В среде С++ реализовать консольное приложение использующее заданный фрагмент кода. Описания переменных добавить самостоятельно. ...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
06.12.2009, 22:26
Ответ Создать тему
Опции темы

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