Skocz do zawartości

Leogict

Stały użytkownik
  • Postów

    53
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Leogict

  1. Ostatnio intryguje mnie temat sztucznej inteligencji u maszyn, komputerów. Wg mnie nie istnieje coś takiego jak "sztuczna inteligencja". Istnieją za to programy, algorytmy mogące jedynie w niewielkim stopniu symulować, naśladować zachowania inteligentne, np. program komputerowy dostosowujący się do trybu pracy użytkownika czy robot z masą czujników dostosowujący się do otoczenia. Moim zdaniem, na etapie technologii półprzewodnikowej, nie jesteśmy w stanie uzyskać "sztucznej inteligencji". Co innego, jak wejdą komputery kwantowe. Ale o tym mam małą wiedzę. Słyszałem tylko na uczelni, że w komputerach kwantowych są klucze szyfrujące nie do złamania.
  2. Witam, napisałem dodawanie macierzy na 2 sposoby. Będę wdzięczny za wszelkie uwagi, komentarze i spostrzeżenia. 1. Macierze reprezentowane jako tablice dwuwymiarowe: #include <iostream>using namespace std;void wprowadz_macierz(int macierz[][10],int wiersze, int kolumny);void dodaj_macierze(int macierzA[][10], int macierzB[][10], int macierzC[][10],int wiersze, int kolumny);void wyswietl_wynik(int macierzC[][10],int wiersze,int kolumny);int main(){ int macA[10][10], macB[10][10], macC[10][10]={0},wmac,kmac; cout << "Podaj rozmiar obu macierzy:\nWierszy: "; cin >> wmac; cout << "Kolumn: "; cin >> kmac; if((kmac) && (wmac) && (wmac<11) && (kmac<11)) // sprawdzenie poprawnosci rozmiarow macierzy { cout << "\nMacierz A: \n"; wprowadz_macierz(macA,wmac,kmac); // wprowadzamy macierz A cout << "\nMacierz B\n"; wprowadz_macierz(macB,wmac,kmac); // i macierz B dodaj_macierze(macA,macB,macC,wmac,kmac); // dodajemy je wyswietl_wynik(macC,wmac,kmac); // i wyswietlamy macierz wynikowa } else cout << "Zly rozmiar macierzy!\n"; return 0;} //**************************************************************************void wprowadz_macierz(int macierz[][10], int wiersze, int kolumny){ for(int i=0; i<wiersze; i++) // po wierszach { for(int j=0; j<kolumny; j++) // po kolumnach { cout << "Podaj element (" << i+1 << "," << j+1 << "): "; cin >> macierz[i][j]; } }}//********************************************************************************void dodaj_macierze(int macierzA[][10], int macierzB[][10], int macierzC[][10],int wiersze,int kolumny){ for(int i=0; i<wiersze; i++) { for(int j=0; j<kolumny; j++) { macierzC[i][j]=macierzA[i][j]+macierzB[i][j]; // wlasciwe dodawanie } }}//***********************************************************void wyswietl_wynik(int macierzC[][10],int wiersze,int kolumny){ cout << "\nWynik:\n"; for(int i=0; i<wiersze; i++) { for(int j=0; j<kolumny; j++) { cout << macierzC[i][j]; if(j<kolumny-1) cout << ", "; } cout << "\n"; } cout << "\n";} 2. Macierze reprezentowane jako tablice jednowymiarowe: #include <iostream>using namespace std;void wprowadz_macierz(int macierz[],int wiersze, int kolumny);void dodaj_macierze(int macierzA[], int macierzB[], int macierzC[],int wiersze, int kolumny);void wyswietl_wynik(int macierzC[],int wiersze,int kolumny);int main(){ int macA[100], macB[100], macC[100]={0},wmac,kmac; // wmac - ilosc wierszy, kmac - ilosc kolumn, dodajemy macierze wmac x kmac cout << "Podaj rozmiar obu macierzy:\nWierszy: "; cin >> wmac; cout << "Kolumn: "; cin >> kmac; if((kmac) && (wmac) && (wmac<11) && (kmac<11)) // sprawdzenie poprawnosci rozmiarow macierzy { cout << "\nMacierz A: \n"; wprowadz_macierz(macA,wmac,kmac); // wprowadzamy pierwsza macierz cout << "\nMacierz B\n"; wprowadz_macierz(macB,wmac,kmac); // i druga dodaj_macierze(macA,macB,macC,wmac,kmac); // i je dodajemy wyswietl_wynik(macC,wmac,kmac); // wyswietlamy wynikowa macierz } else cout << "Zly rozmiar macierzy!\n"; return 0;}//*********************************************************************void wprowadz_macierz(int macierz[], int wiersze, int kolumny) // funkcja do wprowadzania macierzy{ for(int i=0; i<wiersze; i=i++) // po wierszach { for(int j=0; j<kolumny; j++) // po kolumnach { cout << "Podaj element (" << i+1 << "," << j+1 << "): "; cin >> macierz[(i*kolumny)+j]; // mnozymy i razy liczbe kolumn, zeby wartosci w tablicy jednowymiarowej nie nadpisywaly sie } }}//************************************************************************************************void dodaj_macierze(int macierzA[], int macierzB[], int macierzC[],int wiersze,int kolumny) // funkcja dodajaca macierze{ for(int i=0; i<wiersze*kolumny; i++) { macierzC[i]=macierzA[i]+macierzB[i]; }}//*********************************************************************************void wyswietl_wynik(int macierzC[],int wiersze,int kolumny) // wyswietlanie macierzy wynikowej{ cout << "\nWynik:\n"; for(int i=0; i<wiersze; i++) { for(int j=0; j<kolumny; j++) { cout << macierzC[(i*kolumny)+j]; // (i*kolumny)+j, a nie (i+j) zeby np macierzC(1,0) nie nadpisalo macierzC(0,1) cout << "\t"; } cout << "\n"; } cout << "\n";}
  3. Chodzi mi o algorytm kopcowania w miejscu (bez dodatkowej tablicy), myślę, że wygląda to tak: Ale nie wiem jak wybiera potomka: mniejszego, większego czy po prostu pierwszego z prawej?
×
×
  • Dodaj nową pozycję...