GRY-Online.pl --> Archiwum Forum

Informatyka ... C++ zadanko.

28.03.2007
22:54
smile
[1]

Zax_Na_Max [ Bo Emeryt Znał Karate ]

Informatyka ... C++ zadanko.

Witam witam i o zdrowie pytam.

Chciałbym was dzisiaj poprosić o bardzo dla mnie ważną rzecz. Mianowicie zrobienie zadanka w formie tutorialu. Tak abym mógł je przeanalizować dokładnie i załapać o co tam chodzi i dalej sobie kombinować z nim różne dziwne rzeczy.

Jeśli ktoś byłby tak dobry to prosiłbym bardzo. Tekst tekst tekst... Objaśnienia co robił i dalej.

Zadanko : Napisz program, który w ciągu znaków zamienia litery wielkie na małe i odwrotnie, pozostałe znaki pozostawiając bez zmian. Do tego tabela ASCII (słowiańska).

Jeżeli byłby jakiś chętny to prosiłbym o wsparcie. ;) Stawiam browar. I żeby nie było, że żeruje. TO nie jest praca domowa czy coś tam. Potrzebuje tego dla siebie. Ale to bardzo bardzo potrzebuje. Dziękuje z góry !

Edit: Język C++ a program, na którym pracuje to DevC++

28.03.2007
23:04
smile
[2]

Regis [ ]

Godzine niezbyt szczesliwa wybrales na zadania wymagajace myslenia :D

Ale moge podpowiedziec, zanim ktos nie napisze calosci:

male litery maja kody ascii od 97 do 122
wielkie od 65 do 90

Poniewaz malych i wielkich liter jest tyle samo, to roznica miedzy mala a duza 'wersja' tej samej litery jest stala i wynosi 32. 'A' to 65, po dodaniu 32 dostajesz 97 czyli 'a'

Potrzebujesz wiec tablicy do ktorej zapiszesz znaki - ot, zwykle char tablica[ilestam]
I jak wyglkada algorytm? Jedziesz od poczatku do konca talicy i pobierasz znak rzutujac go na inta (int kod = (int)tablica[X]). Sprawdzasz czy kod odpowiada wielkiej literze (wartosc miedzy 65 a 90) czy malej (97-122). Jesli to pierwsze, to dodajesz 32, a jesli drugie to odejmujesz. No i zapisujesz to do tablicy - np dla pierwszego wariantu: tablica[X] = (char)(kod+32).

A standardowa tablica ascii chyba nie obejmuje polskich znaczkow, co chyba z reszta widac po obrazku ktory zamiesciles.

29.03.2007
09:08
[3]

Zax_Na_Max [ Bo Emeryt Znał Karate ]

Regis --> No już trochę mi świta. Myślałem, że trudniejsze to zadanko :)

Nie mniej jednak chciałbym całość treści. Jacyś chętni? :)

29.03.2007
10:00
[4]

Belm [ Konsul ]

Masz:

#include <iostream>

char male[] = "ęóąśłżźćń";
char duze[] = "ĘÓĄŚŁŻŹĆŃ";

int SzukajWTablicy(char *tablica, char znak)

int i = 0;
while (tablica != NULL)

if (tablica == znak)
return i;
i++;
›;
return -1;
›;

void ZamienZnaki(char *tablica)

int i = 0;
while (tablica != NULL)

if (tablica >= 'a' && tablica <= 'z')
tablica = tablica - 'a' + 'A';
else if (tablica >= 'A' && tablica <= 'Z')
tablica = tablica - 'A' + 'a';
else if (SzukajWTablicy(male, tablica) != -1)
tablica = duze[SzukajWTablicy(male, tablica)];
else if (SzukajWTablicy(duze, tablica) != -1)
tablica = male[SzukajWTablicy(duze, tablica)];
i++;
›;
›;

int main(int argc, char* argv[])

// Przykłądowy ciąg znaków
char robocza_tablica[] = "zxvYGUYUGBBąć朥ĄŹŹ";
char z;

std::cout << "Przed zamiana: " << robocza_tablica << std::endl;

ZamienZnaki(robocza_tablica);

std::cout << "Po zamianie: " << robocza_tablica << std::endl;

std::cin >> z;

return 0;
›;


GOL wyciął ważne znaczki, zaraz Ci prześlę ten program mailem

29.03.2007
13:38
[5]

Zax_Na_Max [ Bo Emeryt Znał Karate ]

Belm --> Dziękuje :* ... Masz piwko.

© 2000-2026 GRY-OnLine S.A.