• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadania z tablic - język C

Object Storage Arubacloud
0 głosów
1,744 wizyt
pytanie zadane 20 listopada 2015 w C i C++ przez Kapi2222 Obywatel (1,220 p.)

Witam! Mam do rozwiązania dwa zadania z tablic i z racji tego ,że jestem początkujący w tej dziedzinie nie potrafię sobie z nimi poradzić. Prosiłbym o pomoc - przede wszystkim zależy mi na zrouzmieniu tych zadań, niekoniecznie na samym rozwiązaniu. 

Zad. 1

Uzupełnij program tak, aby wypisywał powtarzające się liczby z tab. Wynik programu powinien być następujący: 2, 4, 5.

#include <stdio.h>
int main(){
 int tab[] = {2,4,5,4,3,2,7,5};
 int i, j;
 for(…………) {
 for(………) {
 if (………) {
 printf(……);
 break;
 }
 }
 }
 return 0;
}

Zad. 2 

Uzupełnij program, tak aby wypisywał na ekran 10 pierwszych elementów ciągu Fibonacciego (bez wykorzystania rekurencji). Sam ciąg Fibonacciego znam, tylko nie wiem jak wypełnić te puste luki.

 

#include <stdio.h>
#define SIZE …………
int main(){
 int tab[SIZE];
…………………………………………………
…………………………………………………
 int i;
 for(…………) {
…………………
 }
 for(i=0; i<SIZE; i++) {
 printf("%d ", tab[i]);
 }
 return 0;
}

Dziekuje za odpowiedzi i pozdrawiam :)

2 odpowiedzi

0 głosów
odpowiedź 20 listopada 2015 przez niezalogowany
Powiedz czego nie rozumiesz?
0 głosów
odpowiedź 20 listopada 2015 przez mrcnsct Nałogowiec (36,390 p.)
1. Musisz porównywać ze sobą elementy tablicy. Żaden nie powtarza się więcej niż dwa razy, więc dla danego elementu wystarczy sprawdzić czy powtórzył się on później, jeśli tak to wypisać.

2. Elementy ciągu trzeba wpisać do tablicy, liczysz je tak, że tab[i]=tab[i-1]+tab[i-2]; wcześniej gdzie masz te dwie wolne linijki prawdopodobnie trzeba wpisać wartość elementu 0 i 1 ciągu do tablicy.

Spróbuj zrobić te programy po swojemu, później porównaj z tym co masz uzupełnić i zobacz co tam brakuje.
komentarz 20 listopada 2015 przez Kapi2222 Obywatel (1,220 p.)
Dzieki za odpowiedz :) Zadanie 2 juz zrobiłem, miałem problem bo wpisywało mi niebotycznie duże liczby :D ale już się z tym uporałem. Tylko nie wiem co z tym pierwszym zadaniem zrobic. Pierwsza petle napisałem tak : for(i=0;i<8,i++). Ale nie wiem jak napisac ta druga petle zeby wypisywalo mi powtarzajace sie liczby.
komentarz 20 listopada 2015 przez mrcnsct Nałogowiec (36,390 p.)
for(j=i+1;j<8;++j);

a w if porównujesz 

tab[i]==tab[j]

Jak sprawdzasz czy element któy jest np. w tab[4] się powtórzył, to porównujesz go z kolejnymi czyli z tab[5], tab[6] itp.

komentarz 20 listopada 2015 przez Kapi2222 Obywatel (1,220 p.)
Ok dzieki Ci, wszystko już jasne! :D

Podobne pytania

0 głosów
1 odpowiedź 790 wizyt
pytanie zadane 20 grudnia 2017 w C i C++ przez k3ybo4rd Obywatel (1,180 p.)
0 głosów
0 odpowiedzi 282 wizyt
pytanie zadane 30 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 285 wizyt
pytanie zadane 4 marca 2021 w C i C++ przez zetC Nowicjusz (170 p.)

92,702 zapytań

141,615 odpowiedzi

320,180 komentarzy

62,060 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...