Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: completer в Mar 02, 2009, 14:47



Титла: Бързо въпосче?
Публикувано от: completer в Mar 02, 2009, 14:47
Имам диск на Debian i386 netinst и съм си го инсталирал но моя компютър защото дъното ми е Интел.Въпроса ми е мога ли да използвам същия диск за да инстлирам дебиан на дъно АМД или някво друго?Питам защото досега не съм инсталирал линукс освен на моя компютър.


Титла: Re: Бързо въпосче?
Публикувано от: stealth01 в Mar 02, 2009, 15:28
всъщност не за дъна, а за процесори става въпрос...
ако AMD процесора е 32 битов, ще му инсталираш i386
ако е 64 битов, може да сложиш i386 (което е 32 битова система, но ще работи), а може и amd64, което ще си изтеглиш от сайта на дебиан.


Титла: Re: Бързо въпосче?
Публикувано от: completer в Mar 02, 2009, 15:58
Благодаря за разяснението!


Титла: return ????
Публикувано от: completer в Mar 02, 2009, 18:37
Реших че не трябва да отварям нова тема за някви малковажни нещица.
Та наскоро почнах да чета една книга за програмиране на С.След всяка тема има упражнения за правене и както всеки път си ги правя за по-добро услояване на материала.
Днес четох за използване на функции за връщане на стойности и на задачата която беше дадена след края на ми направи нещо впечатление.
Задачата беше да се напише програма за конвентриране на долари в лири($2 е 1 лира), като се иска да се пита потребителя да зададе количество долари.
И аз написах програмата по следния начин:

Код:
/*Програма за конвертиране на долари в лири*/
#include<stdio.h>
int convert(void);
int main(void)
{
printf("The equal lir are: %f",convert());

return 0;
}
int convert(void)
{
float dollars;
printf("Please enter amount of dollars:");
scanf("%f",&dollars);

return dollars/2;
}

Но когато я изпълня и не дава точен отговор:
Код:
Please enter amount of dollars:4
The equal lir are: -0.029997

Погледнах в отговорите на учебника и видях че за задали int вместо float, но ми стана интересно как програмата ще даде точен отговор с int когато я запитам колко лири са 5 долара  ;D >:D. Както си и мислех ми казва че са 2, което не е вярно.Пробвах с double, но резултата беше същия като при float.Та се замислих направих отделна програма без функция и задох float за числа с плаваща запетая и всичко беше ОК.Та ето къде ми възникна един голям Х , защо става така при функцията.Възможно ли е return  да връща само целочислени стойности?Потръсих по напред в книгата но не успях да намеря отговор. ???


Титла: Re: Бързо въпосче?
Публикувано от: gat3way в Mar 02, 2009, 19:20
Функцията ти връща int, какво очакваш да върне?

Пробвай да я декларираш като float convert(void) и така ще си връща дроби.


Титла: Re: Бързо въпосче?
Публикувано от: completer в Mar 02, 2009, 22:20
Функцията ти връща int, какво очакваш да върне?

Пробвай да я декларираш като float convert(void) и така ще си връща дроби.
Ясно, разбрах си грешката.Благодаря ти много за помощта!