gagatek71 utworzono 8 maja 2007 utworzono 8 maja 2007 Napisz funkcje sprawdzajaca, czy N-elementowa tablica znaków (char) zawiera przynajmniej 5 liter 'A'.lub taki Napisz funkcję wyznaczającą wartość maksymalną z N-elementowej tablicy zawierającej dane typu int. nie moge dac sobie z tym rady moze ktos mi pokazac jak trzeba to zrobic?? z gory dziekuje
Przemek komentarz 8 maja 2007 komentarz 8 maja 2007 gagatek71, Tablica ma byc z gory okreslona, czy ma byc dynamiczna ?
święty komentarz 8 maja 2007 komentarz 8 maja 2007 gagatek71, Tablica ma byc z gory okreslona, czy ma byc dynamiczna ? Też się miałem o to pytać, ale mam wrażenie że jednak z góry. A patrząc na nawias na końcu tematu mam również wrażenie że to ma być w C ...no to może by coś takiego?: #include <stdio.h>#include <stdlib.h>#include <conio.h>using namespace std;int main(){ const int N = 10; //char tab[N] = {}; chyba jeden ze sposobow zerowania tablicy char tab[N]; int licznik = 0; for(int i = 0; i < N; i++) // ale ten raczej pewniejszy { tab[i] = 0; } printf("nWczytaj tablice %d-elementowa: n", N); for(int i = 0; i < N; i++) { scanf("%s", &tab[i]); if (tab[i] == 'A' || tab[i] == 'a') licznik++; else continue; } if (licznik > 4) printf("nW tablicy jest %d liter "A" (duzych lub malych)n", licznik); else printf("nW tablicy nie ma lub jest mniej niz 5 liter "A" ...a dokladniej mowiac to jest ich: %d n", licznik); getch(); return 0;} W takim mały programiku może i nie trzeba zerować tablicy, ale na wszelki wypadek ...a i nie wiem czy czasem nie trzeba deklarować dla rozmiaru o 1 większego... A co do tego drugiego programu to gdzieś już podobny pisałem...a nawet to było tutaj :lol: Jak coś niejasne to daj znać
gagatek71 komentarz 9 maja 2007 Autor komentarz 9 maja 2007 tablica ma byc dynamiczna. ja tak robilem podobnie i mi nie wychodzilo nie wiem czemu:( [ Dodano: 2007-05-09, 12:46 ] Napisz funkcję wyznaczającą wartość maksymalną z N-elementowej tablicy zawierającej dane typu int.
święty komentarz 9 maja 2007 komentarz 9 maja 2007 Mam nadzieję że dobrze to jest, jeśli nie to fachowców prosze o poprawienie ...ale w sumie to działa zgodnie z założeniem #include <stdio.h>#include <stdlib.h>#include <conio.h>using namespace std;int main(){ int licznik = 0; int N, i; char *tab; printf("nPodaj rozmiar tablicy: n"); scanf("%d", &N); tab = (char*)malloc(N*sizeof(char)); // tworzymy dynamicznie tablice ... // ... i zerujemy ja jako ze po utworzeniu przez malloc tablica zawiera "smieci" for(int i = 0; i < N; i++) { tab[i] = 0; } printf("nWczytaj dane do tablicy %d-elementowej: n", N); for(int i = 0; i < N; i++) { scanf("%s", &tab[i]); if (tab[i] == 'A' || tab[i] == 'a') licznik++; else continue; } if (licznik > 4) printf("nW tablicy jest %d liter "A" (duzych lub malych)n", licznik); else printf("nW tablicy nie ma lub jest mniej niz 5 liter "A" ...a dokladniej mowiac to jest ich: %d n", licznik); free(tab);//zwalniamy pamiec czyli kasujemy tablice getch(); return 0;} A co do tego drugiego to jeśli też ma być dynamicznie utworzona tablica, to to mniej więcej tak może wyglądać (w C oczywiście ): #include <stdio.h>#include <stdlib.h>#include <conio.h>int main(){ int N, i; int *tab; printf("nPodaj rozmiar tablicy: n"); scanf("%d", &N); tab = (int*)malloc(N*sizeof(int)); for(i = 0; i < N; i++) { tab[i] = 0; } printf("nWczytaj dane do %d-elementowej tablicyn", N); scanf("%d", &tab[0]); int max = tab[0]; for(i = 1; i < N; i++) { scanf("%d", &tab[i]); if(tab[i] > max) max = tab[i]; } printf("nnMaksymalna wartosc w podanej tablicy to: %d n", max); free(tab); getch(); return 0;} Enjoy P.s. Zapomniałem przedtem zwolnić pamięci w drugim ale już to naprawiłem ...oczywiście to są jedne z wielu sposobów na takie programy [ Dodano: 2007-05-14, 20:58 ] Ot i człowiek nawet nie wie czy o to chodziło czy nie
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.