Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tablica alokowana statystycznie

Ostatnio zmodyfikowano 2012-04-18 01:19
Autor Wiadomość
bucho1504
Temat założony przez niniejszego użytkownika
Tablica alokowana statystycznie
» 2012-04-17 22:00:55
Witam
Stworzyłem tablicę zliczająca ilość liter i miało obracać go na tej samej tablicy i wypisać ale coś jest chyba nie tak ???? proszę o pomoc co można byłoby tutaj zmienić i jak zmienić tablicę na dynamiczną wykorzystując argument funkcji int main(int argc, char* argv[])
 
C/C++
#include <iostream>
#include <cstdlib>
using namespace std;

int main()

{
    char napis[ 256 ];
    int ile[ 52 ] = { };
    int i = 0;
   
    cout << "\n\nPodaj napis: ";
    cin.getline( napis, 256 ); cout << endl;
   
    while( napis[ i ] != '\0' )
   
    {
        ile[ napis[ i ] - 79 ] ++; i++;
    }
    //Odwrocenie
    int temp;
    for( int i = 0; i < 52 / 2; i++ )
    {
        temp = ile[ i ];
        ile[ i ] = ile[ 52 - 1 - i ];
        ile[ 52 - 1 - i ] = temp;
    }
    do {
        if( ile[ i ] ) //jeśli ta litera wystąpiła
             cout << "litera " <<( char )( i + 79 ) << " wystapila " << ile[ i ] << " razy\n";
       
        i++;
    } while( i < 52 );
   
    cin.ignore();
    getchar();
   
    return 0;
   
}

Dzięki z góry
P-54746
sna
» 2012-04-18 01:19:47
To zrób dynamiczną tablicę:

C/C++
int * tab;
tab = new int[ n ];

Tylko po użyciu ją skasuj. Elementy tworzone dynamicznie za pomocą new trzeba kasować delete albo zaśmiecają pamięć.

C/C++
delete[] tab;

Za n podstaw sobie argc (tylko on będzie równy ilości podanych parametrów) lub któryś element argv przy czym one znowu będą jako słowa ze znaków asci to chyba wcześniej trzeba będzie go przekonwertować do int np. za pomocą funkcji: atol.
P-54756
« 1 »
  Strona 1 z 1