Ĺadny brzuch
Mam napisac funkcje wykonujące podstawowe operacje na tablicach(tzn. wczytywanie, wyświetlanie, liczenie średniej, max, min ) ale w zapisie wskaźnikowym. W innym zapisnei to niemam problemu z tym ale w wskaźnikowym to wogule nie wiem co i jak. Prosze o pomoc przy tym programie. W szkole pisałem go ale cos nie grało w nim:/
No co za problem?
Np. Wypełnianie, i wyświetlanie tablicy:
int* ptr; int tab[60]; ptr = tab; for(int i = 0; i < 60; i++;ptr++)*ptr = i; ptr = tab; for(int i = 0; i < 60; i++;ptr++)cout << *ptr << endl;
Ehh...
przykłady wskaźników mam ale cos mi nie gra w programie.
To może pokaż jakiś kod bo tak na sucho to trudno trafić w Twoje potrzeby.
Użytkownik reVis edytował ten post 09 grudzień 2006, 22:07
Oto ten program
#include<stdio.h> #include<conio.h> const int ROZMIAR=10; void wczytajtablice(float Tab[]) { clrscr(); int i=0; do { printf("Tab[%2d]=",i+1); scanf("%f",&Tab[i]); i++; } while(i!=ROZMIAR); } void wyswietltablice(float Tab[]) { int i=0; do { printf("\nTab[%2d]=%10.3f\n",i+1,Tab[i]); i++; } while(i!=ROZMIAR); } void main(void) { int*Wsk; for(Wsk=Tab;Wsk<Tab+10;Wsk++) { scanf("%d",Wsk); *Wsk*=2; printf("Tab[%2d]=%d",Wsk-Tab+1,*Wsk); getch(); } }
Niech go ktos poprawi zeby ten program wykonywał funkcje podstawowe operacje na tablicach(tzn. wczytywanie, wyświetlanie, liczenie średniej, max, min ) ale w zapisie wskaźnikowym.
widze ze nikt nie pomoze:/, dodam ze mam ten program do czwartku zrobic:/
a no czemu ma ci pomagać skoro rozkazujesz ?
Niech go ktos poprawi...
Zrobiłem coś takiego nie wiem czy o to dokładnie ci chodzi jeżeli nie to napisz dokładniej:
#include <iostream> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica); cin.get(); } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) wsk_tab[i]=i; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; }
Użytkownik pura89 edytował ten post 11 grudzień 2006, 19:19
No fakt mój błąd, przepraszam.
Bardzo prosze o poprawienie mi mojego programu.
@pura89 zaraz sprawdze ten program i jak co to Cie poprosze o "udoskonalenie" i dziękuje za ten program narazie;]
w temacie pisze, że program ma być w c++. Więc napisałem.
Użytkownik pura89 edytował ten post 11 grudzień 2006, 19:20
w temacie pisze, że program ma być w c++. Więc napisałem.
Progrma działa Twój, ale mam prosbe czy mógłbys przerobic go zeby mozna było wpisywac wartosci liczb i zeby pokazyłaało wartosc największa i najmniejssza. Byłbym bardzo wdzieczny.
Progrma działa Twój, ale mam prosbe czy mógłbys przerobic go zeby mozna było wpisywac wartosci liczb i zeby pokazyłaało wartosc największa i najmniejssza. Byłbym bardzo wdzieczny.
No nie... kolega podał Ci już prawie całe zadanie, zrób przynajmniej tą część sam, wcale nie jest taka trudna - pomyśl <_<
Wczytywać możesz w pętli for np.
for(int i=0; i<10; i++) cin >> tablica[i];
A największą i najmniejszą wartość zrób tak:
Znajdź funkcje sortującą tablice od najmniejszej do największej. Napisz sobie swoją funkcję na zwracanie najmniejszej wartości tak, najpierw sortujesz tablice od najmniejszej do największej a potem zwracasz pierwszy element tablicy wtedy uzyskasz najmniejszą wartość tablicy, zwracając ostatni element tablicy uzyskasz największy wartość.
Coś takiego z tym wczytywaniem, ale z wartościami zrób sobie sam.
#include <iostream> #include <conio.h> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica); //cin.get(); getch(); } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) cin >> wsk_tab[i]; cout << endl; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; }
Jeszcze można zrobić wskaźnik do zmiennej całkowitej.
Użytkownik pura89 edytował ten post 11 grudzień 2006, 21:01
Jeszcze można zrobić wskaźnik do zmiennej całkowitej.
Spróbowałem zrobic dla wartosci max i min ale jakos nie potrafie, oto wynik mojej pracy:
#include <iostream> #include <conio.h> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica); //cin.get(); getch(); { float liczba, licznik, srednia, suma; int max=0, min=0; char znak; do { cout<<"Podaj dowolną liczbę\n"<<; cin>>(" %f", &liczba); liczba ++; suma = suma , liczba; if (liczba >= max) max=liczba; if (licznik = 1) min=liczba; if (liczba <= min) min=liczba; cout<<"Czy to koniec wprowadzania t/n?\n\n"); znak=getch(); } } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) cin >> wsk_tab[i]; cout << endl; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; } while(znak!='t'); cout<<" Największa liczba podana przez Ciebie to: %d\n",max); cout<<" Najmniejsza liczba podana prz Ciebie to: %d\n",min); getch(); }
Bardzo proszę, niech mi ten program ktos poprawi. Próbowałem zrobic ale jakos mi to nie wychdzi, jestem noobkiem z c++. Będe bardzo wdzieczny.
Widać, że w ogóle nie czytałeś mojego poprzedniego posta :/
#include <iostream> #include <conio.h> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); void max_min(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica) << endl; max_min(tablica); //cin.get(); getch(); } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) cin >> wsk_tab[i]; cout << endl; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; } void max_min(int *wsk_tab) { sort(wsk_tab, wsk_tab+10); cout << "Najwiekszy element wnosi: " << wsk_tab[9] << ", najmniejszy wynosi " << wsk_tab[0] << endl; }
Bardzo dziękuje ale jeszcze jedna uwaga, ten program nie liczy średniej tylko sume:(
Ale Ty masz problemy :omg:
średnia = suma / ilość składników
Ale Ty masz problemy :omg:
średnia = suma / ilość składników
Wiem ale nie w tym był sęk ale doszedłem juz do tego i liczy mi juz średnią.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
No co za problem?
Np. Wypełnianie, i wyświetlanie tablicy:
int* ptr; int tab[60]; ptr = tab; for(int i = 0; i < 60; i++;ptr++)*ptr = i; ptr = tab; for(int i = 0; i < 60; i++;ptr++)cout << *ptr << endl;
Ehh...
przykłady wskaźników mam ale cos mi nie gra w programie.
To może pokaż jakiś kod bo tak na sucho to trudno trafić w Twoje potrzeby.
Użytkownik reVis edytował ten post 09 grudzień 2006, 22:07
Oto ten program
#include<stdio.h> #include<conio.h> const int ROZMIAR=10; void wczytajtablice(float Tab[]) { clrscr(); int i=0; do { printf("Tab[%2d]=",i+1); scanf("%f",&Tab[i]); i++; } while(i!=ROZMIAR); } void wyswietltablice(float Tab[]) { int i=0; do { printf("\nTab[%2d]=%10.3f\n",i+1,Tab[i]); i++; } while(i!=ROZMIAR); } void main(void) { int*Wsk; for(Wsk=Tab;Wsk<Tab+10;Wsk++) { scanf("%d",Wsk); *Wsk*=2; printf("Tab[%2d]=%d",Wsk-Tab+1,*Wsk); getch(); } }
Niech go ktos poprawi zeby ten program wykonywał funkcje podstawowe operacje na tablicach(tzn. wczytywanie, wyświetlanie, liczenie średniej, max, min ) ale w zapisie wskaźnikowym.
widze ze nikt nie pomoze:/, dodam ze mam ten program do czwartku zrobic:/
a no czemu ma ci pomagać skoro rozkazujesz ?
Niech go ktos poprawi...
Zrobiłem coś takiego nie wiem czy o to dokładnie ci chodzi jeżeli nie to napisz dokładniej:
#include <iostream> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica); cin.get(); } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) wsk_tab[i]=i; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; }
Użytkownik pura89 edytował ten post 11 grudzień 2006, 19:19
No fakt mój błąd, przepraszam.
Bardzo prosze o poprawienie mi mojego programu.
@pura89 zaraz sprawdze ten program i jak co to Cie poprosze o "udoskonalenie" i dziękuje za ten program narazie;]
w temacie pisze, że program ma być w c++. Więc napisałem.
Użytkownik pura89 edytował ten post 11 grudzień 2006, 19:20
w temacie pisze, że program ma być w c++. Więc napisałem.
Progrma działa Twój, ale mam prosbe czy mógłbys przerobic go zeby mozna było wpisywac wartosci liczb i zeby pokazyłaało wartosc największa i najmniejssza. Byłbym bardzo wdzieczny.
Progrma działa Twój, ale mam prosbe czy mógłbys przerobic go zeby mozna było wpisywac wartosci liczb i zeby pokazyłaało wartosc największa i najmniejssza. Byłbym bardzo wdzieczny.
No nie... kolega podał Ci już prawie całe zadanie, zrób przynajmniej tą część sam, wcale nie jest taka trudna - pomyśl <_<
Wczytywać możesz w pętli for np.
for(int i=0; i<10; i++) cin >> tablica[i];
A największą i najmniejszą wartość zrób tak:
Znajdź funkcje sortującą tablice od najmniejszej do największej. Napisz sobie swoją funkcję na zwracanie najmniejszej wartości tak, najpierw sortujesz tablice od najmniejszej do największej a potem zwracasz pierwszy element tablicy wtedy uzyskasz najmniejszą wartość tablicy, zwracając ostatni element tablicy uzyskasz największy wartość.
Coś takiego z tym wczytywaniem, ale z wartościami zrób sobie sam.
#include <iostream> #include <conio.h> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica); //cin.get(); getch(); } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) cin >> wsk_tab[i]; cout << endl; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; }
Jeszcze można zrobić wskaźnik do zmiennej całkowitej.
Użytkownik pura89 edytował ten post 11 grudzień 2006, 21:01
Jeszcze można zrobić wskaźnik do zmiennej całkowitej.
Spróbowałem zrobic dla wartosci max i min ale jakos nie potrafie, oto wynik mojej pracy:
#include <iostream> #include <conio.h> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica); //cin.get(); getch(); { float liczba, licznik, srednia, suma; int max=0, min=0; char znak; do { cout<<"Podaj dowolną liczbę\n"<<; cin>>(" %f", &liczba); liczba ++; suma = suma , liczba; if (liczba >= max) max=liczba; if (licznik = 1) min=liczba; if (liczba <= min) min=liczba; cout<<"Czy to koniec wprowadzania t/n?\n\n"); znak=getch(); } } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) cin >> wsk_tab[i]; cout << endl; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; } while(znak!='t'); cout<<" Największa liczba podana przez Ciebie to: %d\n",max); cout<<" Najmniejsza liczba podana prz Ciebie to: %d\n",min); getch(); }
Bardzo proszę, niech mi ten program ktos poprawi. Próbowałem zrobic ale jakos mi to nie wychdzi, jestem noobkiem z c++. Będe bardzo wdzieczny.
Widać, że w ogóle nie czytałeś mojego poprzedniego posta :/
#include <iostream> #include <conio.h> #include <algorithm> using namespace std; void wyswietl(int *wsk_tab); void wypelnij(int *wsk_tab); int srednia(int *wsk_tab); void max_min(int *wsk_tab); int main(int argc, char *argv[]) { int tablica[10]; wypelnij(tablica); wyswietl(tablica); cout << "Srednia wynosi " << srednia(tablica) << endl; max_min(tablica); //cin.get(); getch(); } void wypelnij(int *wsk_tab) { for(int i=0; i<10; i++) cin >> wsk_tab[i]; cout << endl; } void wyswietl(int *wsk_tab) { for(int i=0; i<10; i++) cout << wsk_tab[i] << endl; } int srednia(int *wsk_tab) { int pomocnicza=0; for(int i=0; i<10; i++) pomocnicza = wsk_tab[i] + pomocnicza; return pomocnicza; } void max_min(int *wsk_tab) { sort(wsk_tab, wsk_tab+10); cout << "Najwiekszy element wnosi: " << wsk_tab[9] << ", najmniejszy wynosi " << wsk_tab[0] << endl; }
Bardzo dziękuje ale jeszcze jedna uwaga, ten program nie liczy średniej tylko sume:(
Ale Ty masz problemy :omg:
średnia = suma / ilość składników
Ale Ty masz problemy :omg:
średnia = suma / ilość składników
Wiem ale nie w tym był sęk ale doszedłem juz do tego i liczy mi juz średnią.