[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Какбы байты
     
    1 person likes this.
  2. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    если хочешь число элементов делай так

    sizeof(mass) / sizeof(mass[0])
     
  3. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Ребят,можно поподробней ? также вопрос: можно привести пользоательскую сумму сложения двух целочисленных аргументов ? Нигде не могу найти работающий пример.Так и не понял, зачем там нужны эти указатели...Я привык,что в пхп сразу объявляешь переменные и передаёшь их в функцию,а оттуда возвращаешь их или передаёшь в другую функцию...А тут вообще лес какой-то с грибами (

    ЗЫ: Почему именно sizeof(mass) / sizeof(mass[0]) ? Что за философия такая непонятно...
     
  4. __mad

    __mad Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    100
    Likes Received:
    38
    Reputations:
    7
    >Почему именно sizeof(mass) / sizeof(mass[0]) ? Что за философия такая непонятно...

    Все очень просто, sizeof возвращает размер объекта (в данном случае массива) в байтах, а у тебя как раз массив типа int (4 байта) состоящий из 5 элементов вот отсюда и получается 20 байт, а вот sizeof(mass[0]) это уже размер одного элемента в байтах то есть размер инта (4 байта).

    >можно привести пользоательскую сумму сложения двух целочисленных аргументов

    вопрос совсем не ясен, попробую угадать:
    Code:
    int sum(a, b)
    {
      return a + b;
    }
    
     
    2 people like this.
  5. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    ну читывая вопрос про массив видимо в планах сложить элементы массива =)

    Code:
    int summ (const int* arr, int arrSize)
    {
        int result = 0;
        for(int i = 0; i < arrSize; i++)
            result += arr[i];
        return result;
    }
    
    int main()
    {
        int arr [] = {4, 5, 8, 3, 1};
        cout << summ(arr, sizeof(arr) / sizeof(arr[0]));
        return 0;
    }
    
     
    1 person likes this.
  6. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Не,_mad угадал.но всё это было очень познавательно:).Пасибо вам,ребятки!:)))Так кавайно на душе......
     
  7. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Эм,в моменте sum(a,b) компилько ругается:

    error: initializer expression list treated as compound expression
    compilation terminated due to -Wfatal-errors.
     
    #3467 Велемир, 12 Aug 2009
    Last edited: 12 Aug 2009
  8. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Пример:

    int sum(a, b)
    {
    return a + b;
    }

    Тут и ругается... Именно в моменте объявления функции.
     
  9. horlyk

    horlyk Elder - Старейшина

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Code:
    int sum(int a,int b)
    {
    return a + b;
    }
    попробуй так :)

    З.Ы. Велемир, ты че, фанат аниме?)
     
    #3469 horlyk, 12 Aug 2009
    Last edited: 12 Aug 2009
  10. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    PHP:

    #include <iostream>

    int main() {

    cout << "shit!";


    }

    int add_values (int аint b


       
    int result
       
    resultа+b
       return (
    result); 
    }

    result=add_values (12);

    Даже такой пример не работает...обалдеть.
     
  11. ASQX

    ASQX Elder - Старейшина

    Joined:
    21 Jun 2008
    Messages:
    47
    Likes Received:
    16
    Reputations:
    1
    #include <iostream>
    using namespace std;
     
  12. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    result=add_values (1, 2); - в воздухе подвис, да и тип не указан, ты б в мейн засунул его что ли.
    Вдобавок какая то из букв 'а' написана не на англ...
     
    _________________________
  13. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Code:
    #include <iostream>
    int add_values (int а, int b) ;
    int main() 
    {
    
      cout << "shit!";
      int result=add_values (1, 2);
    }
    
    int add_values (int а, int b) 
    
    { 
       int result; 
       result= а+b; 
       return (result); 
    }
      
    
     
  14. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    А нафига там тип указывать ещё раз,если уже указан ?
     
  15. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    ***
     
  16. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    буквы тогда убери,
    если описываешь ф-ю после main, нужно после инклудов писать прототип ф-ии
    попробуй вместо
    int add_values (int а, int b) ;
    написать
    int add_values (int, int) ;
    Советую покурить - Область действия переменных;
    Все вопросы, которые сейчас задаешь, есть на первых страницах практически любых книг по С.
     
    #3476 fker, 12 Aug 2009
    Last edited: 12 Aug 2009
  17. horlyk

    horlyk Elder - Старейшина

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Code:
    #include <iostream>
    using namespace std;
    int add_values (int, int) ;
    void main() 
    { 
      cout << add_values (1, 2) << endl;
    }
    int add_values (int a, int b) 
    {  
       return (a+b); 
    }
    Это 100% заработает. Кста, про русскую букву были правы :)
     
  18. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Та же ошибка,епт................ща разъебу все эти компили нахрен.

    http://codepad.org/8H092bcO
     
  19. horlyk

    horlyk Elder - Старейшина

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Ты вообще каким компилятором пользуешься?

    З.Ы.

    Забей на эту херню - юзай нормальный компилятор!
     
    #3479 horlyk, 12 Aug 2009
    Last edited: 12 Aug 2009
  20. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Code:
    
    
    #include <iostream.h> 
    
    int add_values (int a, int b) 
    
    { 
       return (a+ b); 
    } 
    
    int main () 
    
    { 
       cout << " 100 + 200 = " << add_values(100, 200) << endl; 
       cout << " 500 + 501 = " << add_values(500, 501) << endl ; 
       cout << "-1 + 1 = " << add_values(-1, 1) << endl; 
    }
    
    
    Этот-то пример работает.... а чем отличается,не пойму.
     
Thread Status:
Not open for further replies.