Witam. Mam napisane gotowe dwa programy, ale muszę je zrozumieć..
1. Napisz program, który jako parametr pobiera napis, a następnie zamienia małe litery na duże i odwrotnie (np. Ala - aLA). Napisz program w dwóch wersjach:
korzystając z notacji tablicowej (odwołanie do i-tego elementu: tablica[i]) oraz korzystając z arytmetyki wskaźników (odwołanie do i-tego elementu: *(tablica+i) )
Mój kod wygląda tak:
Pytanie- która to jest wersja??
I o co chodzi z tym "if(napis[i]>='a') printf("%c",napis[i]-32);
else printf("%c",napis[i]+32); "
drugi program:
Napisz program, który sprawdza czy dana liczba jest podzielna przez 3 korzystając z cechy podzielności liczb przez 3. (jezeli suma cyfr jest podzeielna przez 3...)
kod:
może mi ktoś wytłumaczyć po kolei to zadanko?? tzn chodzi mi głównie o tą pętlę for. dlaczego po wczytaniu liczby, program ma zwiększać liczbę do 10?? o co tam chodzi?
Proszę o małe wytłumaczenie tych programów najlepiej krok po kroku początkującemu laikowi;) .. W tym pierwszym to jakieś operacje na bitach, coś takiego.. zupełnie nie wiem o co chodzi..
Z góry wielkie dzięki
p.s w temacie "macierze" bo mam jeszcze pro.ram z macierzą, ale najpierw prosiłbym o pomoc z tymi łatwiejszymi.
1. Napisz program, który jako parametr pobiera napis, a następnie zamienia małe litery na duże i odwrotnie (np. Ala - aLA). Napisz program w dwóch wersjach:
korzystając z notacji tablicowej (odwołanie do i-tego elementu: tablica[i]) oraz korzystając z arytmetyki wskaźników (odwołanie do i-tego elementu: *(tablica+i) )
Mój kod wygląda tak:
#include<stdio.h>
#include<stdlib.h>
int i;
char napis[10];
int main(){
printf("Podaj napis jaki chcesz wprowadzic\n");
scanf("%s",&napis);
for(i=0;i<10;i++)
if(napis[i]>='a') printf("%c",napis[i]-32);
else printf("%c",napis[i]+32);
system("pause");
return 0;
}Pytanie- która to jest wersja??
I o co chodzi z tym "if(napis[i]>='a') printf("%c",napis[i]-32);
else printf("%c",napis[i]+32); "
drugi program:
Napisz program, który sprawdza czy dana liczba jest podzielna przez 3 korzystając z cechy podzielności liczb przez 3. (jezeli suma cyfr jest podzeielna przez 3...)
kod:
#include<stdio.h>
#include<stdlib.h>
int suma,i;
char liczba[10];
int main(){
suma=0;
printf("Podaj liczbe, ktora chcesz sprawdzic czy jest podzielna przez 3\n");
scanf("%s",liczba);
for(i=0;i<10;i++){
suma=suma+liczba[i];
}
if(suma%3==0) printf("Liczba jest podzielna przez 3\n");
else printf("Liczba nie jest podzielna przez 3\n");
system("pause");
return 0;
}
może mi ktoś wytłumaczyć po kolei to zadanko?? tzn chodzi mi głównie o tą pętlę for. dlaczego po wczytaniu liczby, program ma zwiększać liczbę do 10?? o co tam chodzi?
Proszę o małe wytłumaczenie tych programów najlepiej krok po kroku początkującemu laikowi;) .. W tym pierwszym to jakieś operacje na bitach, coś takiego.. zupełnie nie wiem o co chodzi..
Z góry wielkie dzięki
p.s w temacie "macierze" bo mam jeszcze pro.ram z macierzą, ale najpierw prosiłbym o pomoc z tymi łatwiejszymi.