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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Borland C++]Задача на массив 
:(
    Опции темы
Conqueror
Дата 27.5.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 27.5.2008

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



Помогите с задачей

В массиве, содержащем не более 40 элементов, определить номер элемента, корень из которого минимальный. Корень извлекать только из положительных чисел. Найти корень. Формат числа +-цц.ц

Это сообщение отредактировал(а) Conqueror - 27.5.2008, 12:07
PM MAIL   Вверх
Conqueror
Дата 29.5.2008, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 27.5.2008

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



кое что сделал, но дальше без понятия как.

Код

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>

void main ()
{
int a[40];
int i=0;
int min=1e1;
float Otel;
clrscr
for (i=0; i<a; i++)
{
printf(Mass [%d]= ", i);
scanf("%d", &a[i]);
if (min>Sqr a[i]);
{
min=sqr (a[i]);
}
}
printf("\n min=%d\n", Min);
printf("...... - %d\n", mass[i]);
printf(".......\n");
for (i=0; i<=a; i++);
{
printf(Mass[%d]=%d", i, mass[i];
}
printf("\n");
getch();
}


Может кто знает что делать дальше?
PM MAIL   Вверх
mrbrooks
Дата 29.5.2008, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Как то у тебя все мудрено имхо. Массив сам заполняй мне просто влом стало  smile 

Код

//---------------------------------------------------------------------------
#include <iostream>
#include <sysdefs>
#include <math>
using namespace std;
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
double arr[] = {11.0,-2.0,3.0,-4.0,5.0,-6.0,-7.0,8.0,-9.,10.,22.,55.,2.5};
int count = ARRAYSIZE(arr), index = 0;
double res = sqrt(arr[0]);
double tmp = 0.;
for (int i = 0; i < count; i++)
        {
          if (arr[i]>=0)
                    {
                        tmp = sqrt(arr[i]);
                        if (tmp < res)
                        {
                                res = tmp;
                                index = i;
                        }
                    }
        }
        cout << endl << "index = " << index << '\t'<< "result = "<< res << endl;
        cin.get();
return 0;
}
//---------------------------------------------------------------------------



PM MAIL   Вверх
Conqueror
Дата 29.5.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 27.5.2008

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



А если так попробывать, или опять мудрёно?

Код

    #include <stdio.h>  
    #include <math.h>  
    #include <time.h>  
    #include <float.h>  
    #include <stdlib.h>  
      
    #define N 40  
    #define UPPERBOUND 1000  
      
   int main()  
   { 
       int i; 
       int vect[N]; 
       int min_idx = -1; 
       double min_sqrt = DBL_MAX; 
       double tmp; 
    
       srand(time(NULL)); 
       for (i = 0; i < N; vect[i ++] = (UPPERBOUND / 2) - (rand() % UPPERBOUND) ); 
    
       for(i = 0; i < N; i ++) { 
           if(vect[i] > 0) { 
               tmp = sqrt((double)vect[i]); 
               if(tmp < min_sqrt) { 
                   min_idx = i; 
                   min_sqrt = tmp; 
               }  
           }  
       }  
     
       for(i = 0; i < N; i ++) { 
           printf("vect[%02d] = %5d", i, vect[i]); 
           if(i == min_idx){ 
               printf("\t<-- smallest square root (%.5f)", min_sqrt); 
           }  
           printf("\n");  
       }  
     
       getchar();  
       return 0;  
   }  

PM MAIL   Вверх
mrbrooks
Дата 29.5.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Ну если тебя интересует мое мнение то конечно жестковато гы.  smile  и что работает?  smile 
PM MAIL   Вверх
mrbrooks
Дата 29.5.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Слухай а что у тебя за компилер?  

Это сообщение отредактировал(а) mrbrooks - 29.5.2008, 14:51
PM MAIL   Вверх
Conqueror
Дата 29.5.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 27.5.2008

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



Честно говоря сам не знаю, в институте дали, старинный ещё под дос, но на винде пашет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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