Program w c

Odpowiedz


RECAPTCHA_EXPLAIN
Emotikony
:D :) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: ;) :!: :?: :idea: :arrow: :| :mrgreen:

BBCode włączony
[Img] włączony
[Flash] wyłączony
[URL] włączony
Emotikony włączone

Przegląd tematu
   

Rozwiń widok Przegląd tematu: Program w c

Re: Program w c

autor: sonriente » 16 sty 2011, 17:56

nie męczcie się :)
już wiem że przy użyciu potęgi musi być podwojonej precyzji ^^
i zmienna nie może nazywać się system bo komputer głupieje

Re: Program w c

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;
}

Re: Program w c

autor: Duch » 15 sty 2011, 17:18

Najprościej chyba będzie znaleźć wszystkie dzielniki liczby i sprawdzić czy są liczbami pierwszymi.

uwaga1: w poszukiwaniu dzielników sprawdzamy tylko do sqrt(n) - odpowiadający mu drugi dzielnik możesz wyliczyć sama :)
uwaga2: 1 nie jest liczbą pierwszą :mrgreen:

Program w c

autor: sonriente » 15 sty 2011, 10:43

Hej :)
Mam problem z pomysłem na budowę zadania...
Czarna dziura! Zrobiłam inne zadania a to stoi....

Proszę nie o program, wolę napisać sama, ale o pomysł jak ma być zbudowany, co ma sprawdzić w jaki sposób...

"Napisz funkcję, która sprawdza, czy zadana liczba jest iloczynem dokładnie dwóch liczb pierwszych"

Z góry dzięki za pomoc i za pomysły ^^

Na górę