Тема: Need help with C++ code :)

Ответить в теме
Показано с 1 по 19 из 19
  1. Вверх #1
    Частый гость Аватар для Alexxx
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    552
    Репутация
    69

    По умолчанию Need help with C++ code :)

    Расположить столбцы заданной матрицы G1 в порядке убывания значений их минимальных элементов. Преобразованную матрицу напечатать
    Вот замучился я... значит, приведеный ниже код компилится на VS 2003 и VS2006, а на моей 2005 ругается:

    Код:
    #include <iostream>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    using std::cout;
    using std::cin;
    int main()
    {
      int SZ=10;
      srand(time(0));
      double A[10][10], buf;
      int i,j, min;
    
      //zapolnim masiv
      for( i=0;i<SZ;i++)
      {
        for(j=0;j<SZ;j++)
        {
          A[i][j]=(1+rand()%99)*(pow((-1),rand()));
          //cout << A[i][j]<<"\t";
        }
        //cout << "\n";
      }
    
    
      //otsarteruem massiv
    
      for (int p=0;p<SZ;p++)
      {
        for(i=0;i<SZ;i++)
        {
          min=i;
          for(j=i+1;j<SZ;j++)
          if(A[p][j]<A[p][min]) min=j;
          buf=A[p][i];
          A[p][i]=A[p][min];
          A[p][min]=buf;
        }
      }
    
      //vivod massiva
    
    
      for(int p=0;p<SZ;p++)
      {
        for(int z=0;z<SZ;z++)
        {
          cout << A[z][p]<<"\t";
        }
        cout << "\n";
      }
      cout << "\n\n\n";
      cin.get();
      return 0;
    }

    c:\documents and settings\alexey\мои документы\visual studio 2005\projects\projectxxxx\projectxxxx\projectxxxx1 23.cpp(19) : error C2668: 'pow' : ambiguous call to overloaded function
    c:\program files\microsoft visual studio 8\vc\include\math.h(575): could be 'long double pow(long double,int)'
    c:\program files\microsoft visual studio 8\vc\include\math.h(527): or 'float pow(float,int)'
    c:\program files\microsoft visual studio 8\vc\include\math.h(489): or 'double pow(double,int)'
    while trying to match the argument list '(int, int)'

    Помогите плиз, кто знает в чем "собака порылась". Буду мегаблагодарен.


  2. Вверх #2
    Модератор
    Мистер Одесский Форум
    Аватар для maxx™
    Пол
    Мужской
    Адрес
    Одеса
    Возраст
    44
    Сообщений
    29,025
    Репутация
    12602
    Может так попробовать:
    A[i][j]=(1+rand()%99)*(pow((double) (-1),rand()));

  3. Вверх #3
    User banned
    Пол
    Мужской
    Сообщений
    45
    Репутация
    11
    зачем так сложно? сортировка двумерного массива, трех слов хватает!

  4. Вверх #4
    User banned
    Пол
    Мужской
    Сообщений
    45
    Репутация
    11
    A[i][j]=(1+rand()%99)*(pow((-1.0),rand()));
    так быстрей!
    Последний раз редактировалось Chev'yuk; 27.12.2007 в 21:00.

  5. Вверх #5
    Частый гость Аватар для Alexxx
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    552
    Репутация
    69
    Пасиба, все работает уже

  6. Вверх #6
    Забавно.
    В сообщении об ошибке было написано ВСЕ.
    В math существовало две версии pow - для флоата и дабла.
    Автор подсовывал инт.
    Естественно, компилятор не мог понять, какую функцию преобразовать,
    так как оба преобразования допустимы.
    Для того, что бы избавиться от ошибки, достаточно было явного приведения типа.
    По правилам хорошего тона - static_cast.

  7. Вверх #7
    Модератор
    Мистер Одесский Форум
    Аватар для maxx™
    Пол
    Мужской
    Адрес
    Одеса
    Возраст
    44
    Сообщений
    29,025
    Репутация
    12602
    Цитата Сообщение от lexar Посмотреть сообщение
    Забавно.
    В сообщении об ошибке было написано ВСЕ.
    В math существовало две версии pow - для флоата и дабла.
    Автор подсовывал инт.
    Естественно, компилятор не мог понять, какую функцию преобразовать,
    так как оба преобразования допустимы.
    Для того, что бы избавиться от ошибки, достаточно было явного приведения типа.
    По правилам хорошего тона - static_cast.
    Уже ж все давно решили, и я ему сразу показал чего делать!

  8. Вверх #8
    Новичок Аватар для Bond2008
    Пол
    Мужской
    Сообщений
    9
    Репутация
    10
    Помогите пожалуйста решить вот эти 2 задачки:
    1)http://i009.radikal.ru/0801/19/afed4583ca5c.jpg
    2)Введите массив(array) 11 плавающих(floating) элементов. Вычислите количество элементов от интервала (-5;3] Замените(replace) вторые отрицательные и минимальные элементы.
    Заранее спасибо

  9. Вверх #9
    Модератор
    Мистер Одесский Форум
    Аватар для maxx™
    Пол
    Мужской
    Адрес
    Одеса
    Возраст
    44
    Сообщений
    29,025
    Репутация
    12602
    Цитата Сообщение от Bond2008 Посмотреть сообщение
    Заранее спасибо
    Спасибо на хлеб не намажешь и в карман не положишь...

  10. Вверх #10
    Новичок Аватар для Bond2008
    Пол
    Мужской
    Сообщений
    9
    Репутация
    10

  11. Вверх #11
    Новичок Аватар для Bond2008
    Пол
    Мужской
    Сообщений
    9
    Репутация
    10
    HELP SOMEBODY PLEASE )

  12. Вверх #12
    Постоялец форума Аватар для Newton
    Пол
    Мужской
    Адрес
    Calgary, Alberta
    Сообщений
    1,105
    Репутация
    825
    Help yourself and save your money
    Моя хата з найкращого краю в світі.

  13. Вверх #13
    Новичок Аватар для Bond2008
    Пол
    Мужской
    Сообщений
    9
    Репутация
    10
    Thanks alot )

  14. Вверх #14
    ты походу только учишся, так давай учись сам!

  15. Вверх #15
    Посетитель Аватар для IronChancellor
    Пол
    Мужской
    Адрес
    Odessa
    Возраст
    34
    Сообщений
    153
    Репутация
    33
    Цитата Сообщение от Bond2008 Посмотреть сообщение
    Помогите пожалуйста решить вот эти 2 задачки:
    2)Введите массив(array) 11 плавающих(floating) элементов. Вычислите количество элементов от интервала (-5;3] ..
    это будет так:
    Код:
    float arr[11] = {0};
    int count = 0;
    
    for(int i = 0; i < 11; i++)
    cin >> arr[i]; // или scanf()
    
    for(int i  = 0; i < 11; i++)
    if(arr[i] > -5 && arr[i] <= 3) count++;
    а вот эту часть задания я чет не уловил:
    "Замените(replace) вторые отрицательные и минимальные элементы."
    чем заменить? вторые, это элементы с четными индексами?

  16. Вверх #16
    Новичок Аватар для Bond2008
    Пол
    Мужской
    Сообщений
    9
    Репутация
    10
    Replace the second negative and minimum elements.

  17. Вверх #17
    Посетитель Аватар для IronChancellor
    Пол
    Мужской
    Адрес
    Odessa
    Возраст
    34
    Сообщений
    153
    Репутация
    33
    второй отрицательный и минимальный поменять местами, переводчики блин =).

    Код:
    float arr[11] = {0}, tmp = 0;
    int count = 0, negativeCounter = 0, negativeIndex = -1, minIndex = 0;
    
    for(int i = 0; i < 11; i++)
    cin >> arr[i]; // или scanf()
    
    
    
    for(int i  = 0; i < 11; i++){
    if(arr[i] > -5 && arr[i] <= 3) count++;
    if(arr[i] < arr[minIndex]) minIndex = i;
    if(arr[i] < 0) negativeCounter++;
    if(negativeCounter == 2) negativeIndex = i;
    }
    
    if(negativeIndex != -1){
    tmp = arr[negativeIndex];
    arr[negativeIndex] = arr[minIndex];
    arr[minIndex] = arr[negativeIndex];
    }
    вроде так, проверь
    I'm grey and lonely in my grey and lonely world.

  18. Вверх #18
    Новичок Аватар для Bond2008
    Пол
    Мужской
    Сообщений
    9
    Репутация
    10
    спасибо,но не так там надо....я уже решил...

  19. Вверх #19
    Посетитель Аватар для IronChancellor
    Пол
    Мужской
    Адрес
    Odessa
    Возраст
    34
    Сообщений
    153
    Репутация
    33
    теряюсь в догадках, как же надо было? приведите код в студию, пожалуйста, если не трудно
    I'm grey and lonely in my grey and lonely world.


Ответить в теме

Похожие темы

  1. Need help. Забилась мойка
    от Mash в разделе Домохозяйство
    Ответов: 25
    Последнее сообщение: 08.02.2015, 12:58
  2. Ben, I need help: оборудование для домашней студии
    от mikhail007 в разделе Музыка :: для исполнителей
    Ответов: 24
    Последнее сообщение: 03.08.2007, 18:54
  3. Router-Need help!
    от Badboyskiller в разделе Интернет
    Ответов: 1
    Последнее сообщение: 16.07.2007, 12:07
  4. Java, Struts, Custom tags... Need Help
    от shipr в разделе Программирование
    Ответов: 8
    Последнее сообщение: 29.12.2006, 13:20
  5. help with upgrade pls.
    от Messir Woland в разделе Железо
    Ответов: 12
    Последнее сообщение: 28.07.2006, 20:59

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения