tablice jezyk c
-
- Użytkownik
- Posty: 22
- Rejestracja: 31 paź 2009, o 16:49
- Płeć: Mężczyzna
- Lokalizacja: Podlaskie
- Podziękował: 7 razy
tablice jezyk c
Witam Wszystkich;
Zwracam sie do was o pomoc w rozwiazaniu pewnego problemu otóż mam takie zadanko:
Napisać program, który przesunie zawartość n-elementowej tablicy o jedna pozycje w górę.
Mam do tego tylko taki "mniej więcej rozpisany kod" i nie wiem co dalej:
int i,pom;
for(i=0; i<=n; i++)
{
pom = tab[i+1];
tab[i+1] = tab;
tab = pom;
}
Zwracam sie do was o pomoc w rozwiazaniu pewnego problemu otóż mam takie zadanko:
Napisać program, który przesunie zawartość n-elementowej tablicy o jedna pozycje w górę.
Mam do tego tylko taki "mniej więcej rozpisany kod" i nie wiem co dalej:
int i,pom;
for(i=0; i<=n; i++)
{
pom = tab[i+1];
tab[i+1] = tab;
tab = pom;
}
-
- Użytkownik
- Posty: 941
- Rejestracja: 17 gru 2007, o 21:48
- Płeć: Mężczyzna
- Lokalizacja: Kingdom Hearts
- Podziękował: 6 razy
- Pomógł: 222 razy
tablice jezyk c
to jest niepoprawny kod, bo odwołuje się w pewnym momencie do n+1 elementu n-elementowej tablicy.
Kod: Zaznacz cały
#include <stdio.h>
int tab[10000000];
int main()
{
int n,i;
scanf("%d", &n); //wczytujemy ilość elementów
for(i=0; i<n; i++) scanf("%d", &tab[i]); //wczytujemy kolejne elementy
printf("
Przed:"); //Opcjonalnie - wypisujemy zawartość przed zamianą
for(i=0; i<n; i++) printf("%d ", tab[i]);
int pom=tab[0];
for(i=0; i<n-1; i++)
tab[i] = tab[i+1];
tab[n-1]=pom;
printf("
Po:"); //Opcjonalnie - wypisujemy zawartość po zamianie
for(i=0; i<n; i++) printf("%d ", tab[i]);
printf("
");
return 0;
}
-
- Użytkownik
- Posty: 22
- Rejestracja: 31 paź 2009, o 16:49
- Płeć: Mężczyzna
- Lokalizacja: Podlaskie
- Podziękował: 7 razy
tablice jezyk c
dzieki za pomoc(matshadow) ale mam problem bo ten caly kod kompletnie nic nie wyswietla jak go sie uruchomi
-
- Użytkownik
- Posty: 941
- Rejestracja: 17 gru 2007, o 21:48
- Płeć: Mężczyzna
- Lokalizacja: Kingdom Hearts
- Podziękował: 6 razy
- Pomógł: 222 razy
tablice jezyk c
tuż przed return 0; daj takie coś:
Jak pomogłem, to daj "pomógł" pod postem
Kod: Zaznacz cały
char c;
scanf("%c", &c);
-
- Użytkownik
- Posty: 22
- Rejestracja: 31 paź 2009, o 16:49
- Płeć: Mężczyzna
- Lokalizacja: Podlaskie
- Podziękował: 7 razy
tablice jezyk c
hhhmmmm wstawilem to tak jak zaznaczyles w odpowiedzi ale nadal jest tylko czarne tlo i nic pozatym mimo wszystko dzieki
-
- Użytkownik
- Posty: 22
- Rejestracja: 31 paź 2009, o 16:49
- Płeć: Mężczyzna
- Lokalizacja: Podlaskie
- Podziękował: 7 razy
tablice jezyk c
ale "matshadow" my sie chyba nie rozumiemy bo ja napisalem tobie ze ten kod ktory mi podales kompletnie nie dziala bo ja nawet nie moge podac zadnych liczb jak uruchomie ten kod jest ciagle czarne tlo i nic wiecej nie moge zrobic z tego co widze to wynika ze ten kod byloby trzeba jeszcze zmodyfikowac zeby chociaz podawal wczytywana ilosc liczb bo nawet tego nie robi widze ze tutaj trzeba byloby uzyc nawiasow oraz pozamieniac gdzie nie gdzie kody miedzy soba linijkami jak masz mozliwosc to sam sprawdz zobaczysz ze przyznasz mi racje......
-
- Użytkownik
- Posty: 941
- Rejestracja: 17 gru 2007, o 21:48
- Płeć: Mężczyzna
- Lokalizacja: Kingdom Hearts
- Podziękował: 6 razy
- Pomógł: 222 razy
tablice jezyk c
Kod: Zaznacz cały
#include <stdio.h>
int tab[10000000];
int main()
{
int n,i;
scanf("%d", &n);
for(i=0; i<n; i++) scanf("%d", &tab[i]);
printf("
Przed:");
for(i=0; i<n; i++) printf("%d ", tab[i]);
int pom=tab[0];
for(i=0; i<n-1; i++)
tab[i] = tab[i+1];
tab[n-1]=pom;
printf("
Po:");
for(i=0; i<n; i++) printf("%d ", tab[i]);
printf("
");
char c;
scanf("%c", &c);
scanf("%c", &c);
return 0;
}
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
tablice jezyk c
Matshadow zaprezentował kod wykonujący tzw ROLL i pewno o to chodziło,
choć z podanej treści może też chodzić o tzw SHIFT
choć z podanej treści może też chodzić o tzw SHIFT
Kod: Zaznacz cały
#include <stdio.h>
#define ROZMIAR 5
int tab[ROZMIAR];
int main() {
int i;
printf("Wartosc poczatkowa tablicy : ");
for(i = 0; i < ROZMIAR; i++) {
tab[i] = i; // wypełniamy kolejne komórki kolejnymi liczbami
printf("%d ", tab[i]);
}
puts("");
// pierwszy element tablicy jest niszczony (nadpisywany drugim)
for(i = 0; i < (ROZMIAR - 1); i++)
tab[i] = tab[i+1]; // przesuwamy kolejne elementy o jeden w lewo
tab[ROZMIAR -1] = 0; // ostatni element zerujemy
printf("Wartosc tablicy po przesunieciu : ");
for(i = 0; i < ROZMIAR; i++) {
printf("%d ", tab[i]);
}
puts("");
return 0;
}
-
- Użytkownik
- Posty: 22
- Rejestracja: 31 paź 2009, o 16:49
- Płeć: Mężczyzna
- Lokalizacja: Podlaskie
- Podziękował: 7 razy
tablice jezyk c
faktycznie pod dev ten program śmiga ale już i pod codeblocks działa miałem pewien problem z programem także wielkie dzięki za pomoc w zrealizowaniu mojego zadanka trzymaj sie i powodzenia oby tak zawsze z każdym problemem Ci świetnie szło