Jeden blad na ok sto prob
Ostatnio zmodyfikowano 2013-05-19 20:27
pekfos |
» 2013-05-19 19:43:18 |
|
usmiech Temat założony przez niniejszego użytkownika |
» 2013-05-19 20:09:44 void selectionSort( int list[], int length ) { int index; int smallestIndex; int location; int temp; for( index = 0; index < length - 1; index++ ) { smallestIndex = index; for( location = index + 1; location < length; location++ ) if( list[ location ] < list[ smallestIndex ] ) smallestIndex = location; temp = list[ smallestIndex ]; list[ smallestIndex ] = list[ index ]; list[ index ] = temp; } } //C++ Programing ...., D.S. Malik..... moge podac kod z innych ksiazek.... ja sie nie //kloce, chce poznac problem i dzieki za pomoc :-) // a odnosnie wikipedii to tam wcale nie jest inaczej... swap jest taki sam :) |
|
pekfos |
» 2013-05-19 20:16:54 Ten kod już jest poprawny. smallestIndex = index; for( location = index + 1; location < length; location++ )
if( list[ location ] < list[ smallestIndex ] ) smallestIndex = location;
temp = list[ smallestIndex ]; list[ smallestIndex ] = list[ index ]; list[ index ] = temp;
|
|
usmiech Temat założony przez niniejszego użytkownika |
» 2013-05-19 20:19:53 Rozumiem.... dziekuje pekfos :-) ....niby tylko klamerka ..;-) Chcialem , zeby ladniej kod wygladal hahhahahahahahahaa
|
|
usmiech Temat założony przez niniejszego użytkownika |
» 2013-05-19 20:27:12 Problem zlikwidowany, dziekuje pekfos i ison :) poprawiony kod #include "stdafx.h"
#include <iostream>
using namespace std; int sumaDigits( int tablica ); void selectionSort( int tablica[], int rozmiar ); void selectionSortDigits( int tablica[], int rozmiar ); void selectionSortDigitsNajmniejszyNumer( int tablica[], int rozmiar );
int main() { const int tablica_rozmiar = 5; int tablica[ tablica_rozmiar ]; cout << "Wprowadz " << tablica_rozmiar << " liczb/y/ : \n\n"; for( int i = 0; i < tablica_rozmiar; ++i ) { cout << "Podaj liczbe #[" << i << "]: "; while( !( cin >> tablica[ i ] ) ) { cout << "\nPrzykro mi... ale oczekiwana byla liczba." << " Sprobuj jeszcze raz!\n" << endl; cin.clear(); cin.ignore( 10000, '\n' ); cout << "Podaj liczbe #[" << i << "]: "; } } cout << "\nWprowadzone przez Ciebie liczby to: \n"; for( int i = 0; i < tablica_rozmiar; ++i ) { cout << tablica[ i ] << ", "; } cout << endl; selectionSort( tablica, tablica_rozmiar ); cout << "\nPosortowana tablica od liczby najmniejszej do najwiekszej to: \n"; for( int i = 0; i < tablica_rozmiar; ++i ) { cout << tablica[ i ] << ", "; } cout << endl; selectionSortDigits( tablica, tablica_rozmiar ); cout << "\nPosortowana tablica od najmniejszej sumy skladnikow liczb to: \n"; for( int i = 0; i < tablica_rozmiar; ++i ) { cout << tablica[ i ] << ", "; } cout << endl; cout << "\nLiczba/y/ z najmniejsza suma jej skladnikow to: \n"; selectionSortDigitsNajmniejszyNumer( tablica, tablica_rozmiar ); cout << endl; system( "pause" ); return 0; }
int sumaDigits( int tablica ) { int suma = 0; while( tablica > 0 ) { suma += tablica % 10; tablica /= 10; } return suma; }
void selectionSort( int tablica[], int rozmiar ) { int index; int najmniejszyIndex; int location; int temp; for( index = 0; index < rozmiar - 1; index++ ) { najmniejszyIndex = index; for( location = index + 1; location < rozmiar; location++ ) if( tablica[ location ] < tablica[ najmniejszyIndex ] ) najmniejszyIndex = location; temp = tablica[ najmniejszyIndex ]; tablica[ najmniejszyIndex ] = tablica[ index ]; tablica[ index ] = temp; } }
void selectionSortDigits( int tablica[], int rozmiar ) { int index; int najmniejszyIndex; int location; int temp; for( index = 0; index < rozmiar - 1; index++ ) { najmniejszyIndex = index; for( location = index + 1; location < rozmiar; location++ ) if( sumaDigits( tablica[ location ] ) < sumaDigits( tablica[ najmniejszyIndex ] ) ) najmniejszyIndex = location; temp = tablica[ najmniejszyIndex ]; tablica[ najmniejszyIndex ] = tablica[ index ]; tablica[ index ] = temp; } }
void selectionSortDigitsNajmniejszyNumer( int tablica[], int rozmiar ) { int minIndex = 0; int najmniejszyNumer = 0; for( int index = 0; index < rozmiar; ++index ) { if( sumaDigits( tablica[ minIndex ] ) > sumaDigits( tablica[ index ] ) ) { minIndex = index; tablica[ najmniejszyNumer ] = tablica[ index ]; } } for( int i = 0; i < rozmiar; ++i ) { if( sumaDigits( tablica[ i ] ) <= sumaDigits( tablica[ najmniejszyNumer ] ) ) { cout << tablica[ i ] << ", "; } } }
|
|
1 « 2 » |