wmmail.ru – cервис почтовых рассылок на главную
написать письмо
карта сайта

С чего начать?РекламодательПравилаFAQСтатистикаБиржа статейTOP100ФоткиКонтакты
Логин:
Пароль: 
Регистрация   Забыли пароль?
WMLogin
Пользователей всего:

512959

Пользователей сегодня:

8

Пользователей online:

104

Выплачено ($): 7`606`118,89
Выплат: 8`115`300
Писем прочитано: 1`024`955`754

 
 
Online 0
Все ответы
 
 

Вопрос #28042

Внимание! В разделе вопрос-ответ запрещается:

  • Мат, оскорбления, флуд, реклама
  • Сообщения, не являющиеся вопросами/ответами
  • Нарушение законодательства РФ
  • Попрошайничество в любой форме

Выделите текст и нажмите для цитирования  #  
+1   [18.03.2011 05:18] #887265

Закрытый вопрос от пользователя Задачка по С++

кто шарит помогите решить задачу: Найти наименьшее среди тех элементов массива X, которые не являются элементами массива Y (массивы одномерные) если можите решите в Qt Creator
Раздел: Домашние задания, последний комментарий: 19.03.2011 03:56
Вопрос закрыт пользователем ananas1 по причине Истек трехдневный срок с момента создания вопроса в разделе
Проголосовали: #521021

Ответы
Ответов всего: 7  вопрос закрыт 
Выделите текст и нажмите для цитирования  #  
+1   [18.03.2011 07:55] #752603   Все ответы пользователя

В каком смысле не являются элементами массива Y? По значению, по адресу?

Добавлено спустя 05 минут 46 секунд
Вам решение по-проще или по-оптимальнее? Насколько велики могут быть массивы и чем они представлены?
Проголосовали: #896590
Выделите текст и нажмите для цитирования  #  
+1   [18.03.2011 08:41] #905937   Все ответы пользователя

по русски можно:eek:
Проголосовали: #896590
Выделите текст и нажмите для цитирования  #  
+2   [18.03.2011 09:07] #752603   Все ответы пользователя

// Решение тупо в лоб.

#include (вправо)iostream(влево)


const int *const find( const int *const y, const int size, const int x )
{
// Возвращаем указатель на найденный элемент. Если ничего не нашли, то 0
for( int i = 0; i != size; ++i )
{
if( x == y[i] ) return &y[i];
}
return 0;
}


int _tmain(int argc, _TCHAR* argv[])
{
const int x[] = { 1, 45, 23, 5, 3, 7 };
const int y[] = { 3, 2, 12, 1, 9 };
const int size_x = sizeof( x ) / sizeof( x[0] );
const int size_y = sizeof( y ) / sizeof( y[0] );
const int* answer = 0; // Ответ. Если 0, то искомых элементов нет.

for( int i = 0; i != size_x; ++i )
{
const int *const temp = find( y, size_y, x[i] );
if( !temp )
{
if( !answer || *answer > x[i] )
{
answer = &x[i];
}
};
}

std::cout (влево)(влево) answer ? *answer : "Искомых элементов нет" (влево)(влево) std::endl;
std::cin.get();

return 0;
}
Проголосовали: #836568, #561265
Выделите текст и нажмите для цитирования  #  
+1   [18.03.2011 09:57] #899532   Все ответы пользователя

#752603 пишет // Решение тупо в лоб.

#include (вправо)iostream(влево)


const int *const find( const int *const y, const int size, const int x )
{
// Возвращаем указатель на найденный элемент. Если ничего не нашли, то 0
for( int i = 0; i != size; ++i )
{
if( x == y[i] ) return &y[i];
}
return 0;
}


int _tmain(int argc, _TCHAR* argv[])
{
const int x[] = { 1, 45, 23, 5, 3, 7 };
const int y[] = { 3, 2, 12, 1, 9 };
const int size_x = sizeof( x ) / sizeof( x[0] );
const int size_y = sizeof( y ) / sizeof( y[0] );
const int* answer = 0; // Ответ. Если 0, то искомых элементов нет.

for( int i = 0; i != size_x; ++i )
{
const int *const temp = find( y, size_y, x[i] );
if( !temp )
{
if( !answer || *answer > x[i] )
{
answer = &x[i];
}
};
}

std::cout (влево)(влево) answer ? *answer : "Искомых элементов нет" (влево)(влево) std::endl;
std::cin.get();

return 0;
}

:eek::shocking::shocking::fear:отдука знашше:fool:
Проголосовали: #896590
Выделите текст и нажмите для цитирования  #  
+3   [18.03.2011 10:07] #752603   Все ответы пользователя

#899532 пишет отдука знашше

Переведите, пожалуйста! Но, в любом случае, вместо того, чтобы крутить пальцем у виска, если у Вас есть объективные возражения против моего решения, лучше бы высказали их. Иначе, я Вашу критику считаю ничтожной.

Добавлено спустя 1 час 48 минут 30 секунд
Только что перечитал решение. Нашел ошибку. Вывод написан не правильно и работать не будет. Нужен, например, такой вывод

if( answer ) std::cout (влево)(влево) answer (влево)(влево) std::endl;
else std::cout (влево)(влево) "Искомых решений нет." (влево)(влево) std::endl;
std::cin.get();

Добавлено спустя 1 час 59 минут 23 секунды
#752603 пишет if( answer ) std::cout (влево)(влево) answer (влево)(влево) std::endl;
Еще раз поправим:
if( answer ) std::cout (влево)(влево) *answer (влево)(влево) std::endl;

Добавлено спустя 2 часа 05 минут 42 секунды
Вот почищенный и проверенный вариант предыдущего:
// Решение тупо в лоб.

#include

const int *const find( const int *const y, const int size, const int x )
{
// Возвращаем указатель на найденный элемент. Если ничего не нашли, то 0
for( int i = 0; i != size; ++i )
{
if( x == y[i] ) return &y[i];
}
return 0;
}


int main()
{
const int x[] = { 1, 45, 23, 5, 3, 7 };
const int y[] = { 3, 2, 12, 1, 9 };
const int size_x = sizeof( x ) / sizeof( x[0] );
const int size_y = sizeof( y ) / sizeof( y[0] );
const int* answer = 0; // Ответ. Если 0, то искомых элементов нет.

for( int i = 0; i != size_x; ++i )
{
if( !find( y, size_y, x[i] ) && ( !answer || *answer > x[i] ) )
{
answer = &x[i];
}
}

if( answer ) std::cout

Добавлено спустя 2 часа 07 минут 54 секунды
Еще раз, криво получилось
// Решение тупо в лоб.

#include (влево)iostream(вправо)

const int *const find( const int *const y, const int size, const int x )
{
// Возвращаем указатель на найденный элемент. Если ничего не нашли, то 0
for( int i = 0; i != size; ++i )
{
if( x == y[i] ) return &y[i];
}
return 0;
}


int main()
{
const int x[] = { 1, 45, 23, 5, 3, 7 };
const int y[] = { 3, 2, 12, 1, 9 };
const int size_x = sizeof( x ) / sizeof( x[0] );
const int size_y = sizeof( y ) / sizeof( y[0] );
const int* answer = 0; // Ответ. Если 0, то искомых элементов нет.

for( int i = 0; i != size_x; ++i )
{
if( !find( y, size_y, x[i] ) && ( !answer || *answer > x[i] ) )
{
answer = &x[i];
}
}

if( answer ) std::cout (влево)(влево) *answer (влево)(влево) std::endl;
else std::cout (влево)(влево) "Искомых решений нет." (влево)(влево) std::endl;
std::cin.get();

return 0;
}
Проголосовали: serega010501, #561265, #887265
Выделите текст и нажмите для цитирования  #  
0   [18.03.2011 14:05] #840435   Все ответы пользователя

Да,ну и вопросик задал.
Выделите текст и нажмите для цитирования  #  
0   [19.03.2011 03:56] #887265   Все ответы пользователя

vacmus спасибо,сейчас попробую вбить

Видеоурок

Вопрос-ответ

НОВОСТИ
03.04.2024Выплаты
подробнее>>
21.02.2024QIWI
подробнее>>

© 2004-2024 «WMMAIL» Пользовательское соглашение