Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [С++] Найти произведение, Помогите плз! 
:(
    Опции темы
t_gran
Дата 10.3.2010, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 13.11.2007
Где: г.Усть-Илимск

Репутация: 33
Всего: 37



замутил smile


--------------------
Я знаю, что ничего не знаю© Сократ
user posted image
PM MAIL WWW   Вверх
Dov
Дата 10.3.2010, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Итак, как и обещал, подводим итоги. 
В решении задачи приняли участие лишь два участника: Letov и t_gran. И оба прислали правильное решение, и оба же получают заслуженные плюсы в репу. 
Выкладываю здесь присланные ими решения:
Letov:
Код
// Test.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

int _tmain(int argc, _TCHAR* argv[])
{
        using namespace std;
 srand((unsigned)time(NULL)); 

    const int SIZE = 5;
    int       arr[SIZE];
    // ... другие переменные, если нужно...
    int x1, x2;
    // заполнение и вывод исходного массива...    
    cout << "source: " ;
    for(int i = 0; i < SIZE; i++) 
        cout << (arr[i] = rand() % 20 + 1) << ' ';
    cout<<endl;
    
    // рабочий процесс и решение задачи, состоящее из одного цикла
    // ...
    int j, k, r;
    j = 0;
    k = 1;
    while(1)
    {  
        if(j == 0) k = 0;
        if (arr[j]<arr[j+1])
        {
            r=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=r;
            k++;
        }
        j++;
        if(j>=SIZE-1)
        {
            if (k==0) break;
            j = 0;        
        }
    }

    for(int i = 0; i < SIZE; i++) 
        cout << arr[i]<< ' ';

    // вывод результата:
    cout << "\nresult: " << arr[0] << " x " << arr[1] << " = " << arr[0]*arr[1] << endl;
    getch();
    return 0;
}


t_gran:
Код
#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

int main()
{
    srand((unsigned)time(NULL)); 
    
    const int SIZE = 10;
    int arr[SIZE];
    // ... другие переменные, если нужно...
    // заполнение и вывод исходного массива...    
    cout << "source: " ;
    for (int i= 0; i < SIZE; ++i) 
        cout << (arr[i]= rand() % 20 + 1) << ' ';

    // рабочий процесс и решение задачи, состоящее из одного цикла
    // ...
    int max1= 0, max2= 0;
    for (int i= 0; i < SIZE; ++i)
    {
       if (max1 < arr[i])
       {
          if (max2 < max1)
             max2= max1;
          max1= arr[i];
       }
       else
          if (max2 < arr[i])
             max2= arr[i];
    }
    // вывод результата:
    cout << "\nresult: " <<  max1  << " x " <<  max2  << " = " <<  max1 * max2  << endl;
    return 0;
}


Ребята,  спасибо за участие...  smile 

з.ы. Со своей стороны хочу сказать, что решение t_gran`a мне понравилось больше(не в обиду Letov`у). 

Всем удачи и хороших программ!!!  



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
orthrus
Дата 11.3.2010, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 5
Всего: 16



Хоть я немного и не успел поучаствовать в таком интересном конкурсе, но свои 5-ть копек внесу в решение данной задачи однопроходным методом smile Вот моё решение:
Код

#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <math.h>

using namespace std;

int main ()
{
    const int CLength= 5;            // Количество чисел
    int arr[CLength] ;               // Список чисел
    srand(time(NULL));               // А-ля randomize в Pasca-cale
    for (int i= 0; i < CLength; ++i) // Генерируем случайным обраом числа 0..9
    {                                // и выводим их на экран
        arr[i]= rand() % 20;
        cout << arr[i] << " ";
    }
    cout << endl;

    int max1 = arr[0];
    int max2 = arr[CLength - 1];
    int a,b;
    a = 0 ;
    b = CLength - 1 ;
    for (int i = 0; i < CLength; ++i)
    {
        if ((max1 < arr[i]) && (i != b)) {max1 = arr[i]; a = i;}
        if ((max2 < arr[(CLength - 1) - i]) && (((CLength - 1) - i) != a)) {max2 = arr[(CLength - 1) - i]; b = (CLength - 1) - i;}

    }
    cout << "\nresult: " <<  max1  << " x " <<  max2  << " = " <<  max1 * max2  << endl;
    return 0;
}


Это сообщение отредактировал(а) orthrus - 11.3.2010, 11:42


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
orthrus
Дата 11.3.2010, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 5
Всего: 16



был дубльsmile

Это сообщение отредактировал(а) orthrus - 11.3.2010, 08:50


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Dov
Дата 11.3.2010, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



orthrus, потестировать забыл?  smile 




--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
orthrus
Дата 11.3.2010, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 5
Всего: 16



почему?


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
t_gran
Дата 11.3.2010, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 13.11.2007
Где: г.Усть-Илимск

Репутация: 33
Всего: 37



Цитата

почему? 

orthrusпосмотри на ответ smile

Это сообщение отредактировал(а) t_gran - 11.3.2010, 11:17


--------------------
Я знаю, что ничего не знаю© Сократ
user posted image
PM MAIL WWW   Вверх
orthrus
Дата 11.3.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: 5
Всего: 16



Поправил код smile


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Dov
Дата 11.3.2010, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Цитата(Dov @  5.3.2010,  23:43 Найти цитируемый пост)
Три человека, которые первыми напишут работающий вариант...

orthrus, третьим будешь.  smile   

з.ы.  но в следующий раз не опаздывай...   smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0819 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.