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

Przerobienie tablicy generującej cyfry na tablicę generującą litery od a do z

Ostatnio zmodyfikowano 2013-11-02 22:25
Autor Wiadomość
Balasdjaw
Temat założony przez niniejszego użytkownika
Przerobienie tablicy generującej cyfry na tablicę generującą litery od a do z
» 2013-10-25 20:31:05
Witajcie. Zmagam się z takim oto zadaniem:

"Przyjąć dane dotyczące wielkości tabeli – ilość wierszy i kolumn.
Utworzyć tabele znaków . Wypełnić je danymi.
Wyświetlić tabelę.
Poprosić o wprowadzenie danej dodatkowej, znakowej i przyjąć ją.
Przeglądać zawartość wektora, jeżeli element tabeli jest większy od danej dodatkowej to do taki element zamienić na znak &, jeżeli jest mniejszy lub równy to pozostawić element tabeli bez zmian.
Wyświetlić w pętli zawartość tabeli po wprowadzonych zmianach."

Otóż punktem wyjścia do wykonania tego zadania ma być taki oto program:

Plik pr_gl.cpp:
C/C++
#include <iostream>
#include "tab.h"

using namespace std;

int main()
{
    int * wi, n, m, x;
    cout << "Podaj ilosc wierszy" << endl;
    cin >> n;
    cout << "Podaj ilosc kolumny" << endl;
    cin >> m;
    cout << "Prosze wprowadzic liczbe calkowita" << endl;
    cin >> x;
    int tab[ n ][ m ];
    wi =& tab[ 0 ][ 0 ];
    cout << "\nTabela zaczyna sie na adresie " << wi << endl;
   
    srand( time( NULL ) );
    wpis( n, m, wi );
    cout << "Zawartosc tabeli:" << endl;
    wysw( n, m, wi );
   
    wysw2( n, m, wi, x );
    cout << "Zawartosc tabeli po sprawdzeniu:" << endl;
    wysw( n, m, wi );
   
    system( "pause" );
}
///kjh
PODPROGRAMY:


tab.cpp:
C/C++
#include <iostream>
#include "tab.h"

using namespace std;

void wpis( int a, int b, int * c )
{
    for( int i = 0; i < a * b; i++ )
         *( c++ ) = rand() % 100;
   
}

void wysw( int a, int b, int * c )
{
    for( int i = 0; i < a; i++ )
    {
        for( int j = 0; j < b; j++ )
             cout <<*( c++ ) << ' ';
       
        cout << endl;
    }
}

int * wysw2( int a, int b, int * c, int d )
{
    for( int i = 0; i < a * b; i++ )
    {
        if( * c > d )
             * c =* c + 5;
       
        * c++;
    }
   
    return c;
}



///lkj
C/C++
tab.h:

#ifndef tab_h
#define tab_h

void wpis( int a, int b, int * c );
void wysw( int a, int b, int * c );
int * wysw2( int a, int b, int * c, int d );

#endif
///fds

Problem polega na tym, że gdy zamiast int(liczb całkowitych) deklaruję char(znaki) to generuje mi całą gamę znaków podczas gdy ja mam wygenerować tablicę znaków od a do z. Będę wdzięczny za chociażby nakierowanie mnie na to jak załatwić ten problem.
P-94552
zielonek12
» 2013-10-25 20:58:35
Nie wiem o co zbytnio chodzi bo śmigam z c++ od 4 dni i nie wiem czy to ci pomoże ale proszę:
for( int i = 32; i < 256; i++ ) cout <<( char ) i << " ";
P-94556
Monika90
» 2013-10-25 21:54:14
C/C++
cin >> n;
cout << "Podaj ilosc kolumny" << endl;
cin >> m;
cout << "Prosze wprowadzic liczbe calkowita" << endl;
cin >> x;
int tab[ n ][ m ];
Tak nie można. W C++ rozmiary tablicy muszą być znane w czasie kompilacji.
P-94564
jankowalski25
» 2013-10-26 12:31:07
W C++ rozmiary tablicy muszą być znane w czasie kompilacji.
Nie muszą. Przykład:
C/C++
int wczytajLiczbe()
{
    int zmienna = 0;
    std::cin >> zmienna;
    //kontrola poprawności danych
    return zmienna;
}

const int zmienna = wczytajLiczbe();
int tablica[ zmienna ];
P-94592
Elaine
» 2013-10-26 15:04:39
Można prosić o cytat ze standardu? Draft C++14 odpada, jeszcze nie jest standardem.
P-94606
Monika90
» 2013-10-27 00:15:44
Nawet w drafcie C++14 nie da się tego znaleźć. Na ostatnim zjeździe komitetu tablice z rozmiarem określonym w czasie wykonania i std::dynarray wyleciały z C++14. Podobny los spotkał std::optional.
P-94636
jankowalski25
» 2013-11-01 12:07:46
P-95015
pekfos
» 2013-11-01 17:39:35
Co to jest?
P-95026
« 1 » 2
  Strona 1 z 2 Następna strona