autor: sonriente » 16 sty 2011, 17:06
wielkie dzięki

już zrobiłam, ale mam kolejny problem... nie wiem co źle zrobiłam....
zadanie:
1.Napisz funkcję, która dostaje na wejściu liczbę zapisaną cyfra po cyfrze w tablicy typu int, ilość cyfr jest drugim parametrem funkcji, trzecim jej parametrem jest podstawa systemu, w jakim liczba jest zapisana (np. 2 - system binarny). Funkcja ma zwracać wartość tej liczby w systemie dziesiętnym (już jako zwykłą liczbę typu int). Czyli np. funkcja([1,0,1,1,0,0,0,0],3,2) zwraca 13 (bo 1101 to binarnie zapisane 13).
Mój kod:
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int zamiana( int tab[100], int system, int a)
{
int i,wynik,d;
int c=0;
for(i=a;i>=0;i--)
{
d=(tab[i])*pow(system,i);
wynik=d+c;
c=wynik;
}
printf("%d", c);
}
int main(int argc, char *argv[])
{
int a,i,k;
printf("podaj dlugosc liczby:\n\n");
scanf("%d", &a);
int tab[100];
for(i=0;i<a;i++)
{tab[i]=0;}
printf("podaj liczbę oddzielajac liczby enterem\n\n");
for(i=a-1;i>=0;i--)
{
scanf("%d", &tab[i]);
}
printf("\n");
for(i=a-1;i>=0;i--)
{
printf("%d", tab[i]);
}
printf("podaj numer systemu w którym została podana liczba:");
scanf("%d", &system);
zamiana(tab,system,a);
system("PAUSE");
return 0;
}
wielkie dzięki ;)
już zrobiłam, ale mam kolejny problem... nie wiem co źle zrobiłam....
zadanie:
1.Napisz funkcję, która dostaje na wejściu liczbę zapisaną cyfra po cyfrze w tablicy typu int, ilość cyfr jest drugim parametrem funkcji, trzecim jej parametrem jest podstawa systemu, w jakim liczba jest zapisana (np. 2 - system binarny). Funkcja ma zwracać wartość tej liczby w systemie dziesiętnym (już jako zwykłą liczbę typu int). Czyli np. funkcja([1,0,1,1,0,0,0,0],3,2) zwraca 13 (bo 1101 to binarnie zapisane 13).
Mój kod:
[code]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int zamiana( int tab[100], int system, int a)
{
int i,wynik,d;
int c=0;
for(i=a;i>=0;i--)
{
d=(tab[i])*pow(system,i);
wynik=d+c;
c=wynik;
}
printf("%d", c);
}
int main(int argc, char *argv[])
{
int a,i,k;
printf("podaj dlugosc liczby:\n\n");
scanf("%d", &a);
int tab[100];
for(i=0;i<a;i++)
{tab[i]=0;}
printf("podaj liczbę oddzielajac liczby enterem\n\n");
for(i=a-1;i>=0;i--)
{
scanf("%d", &tab[i]);
}
printf("\n");
for(i=a-1;i>=0;i--)
{
printf("%d", tab[i]);
}
printf("podaj numer systemu w którym została podana liczba:");
scanf("%d", &system);
zamiana(tab,system,a);
system("PAUSE");
return 0;
}
[/code]