Treść:
Mianowicie mam problem z takim zadaniem:
1. Przebieg ćwiczenia
• Napisać funkcję kopiującą jedną tablicę znaków do drugiej i wypełniający tę drugą znakami '0' (Zalecam napisanie funkcji przy użyciu wskaźników wtedy przykładowe podstawienia: *(tabl1+i) = *(tabl2+i)). Dodatkowo proszę napisać funkcję wyświetlającą tablicę znaków.
• Napisać program (można użyć tej samej funkcji main a potrzebne funkcje dopisać do istniejącej biblioteki), który pyta użytkownika o liczbę wprowadzonych danych typu int. Następnie prosi o podanie zadeklarowanej liczby danych, uzupełnia tabelę o odpowiedniej wielkości i wyświetla jej zawartość. Użyć operatorów new i delete. Dodatkowo proszę napisać funkcję wyświetlającą tablicę int.
Napisać funkcję, która przeszukuje tablicę (int) i zwraca indeks pierwszego znalezionego elementu o zadanej wartości. W przypadku gdy w tablicy nie ma danego elementu funkcja powinna zwracać -1;
Przykładowy plik nagłówkowy:
Moja.h
void copyTable(char *tabl1, char *tabl2, int size);
void showTable(char *tabl, int size);
void showIntTable(int *tabl, int size);
int find(int *tabl, int size, int value);
Istotne jest napisanie prawidłowych funkcji wymienionych powyżej. Ich przykładowe wywołanie może znajdować się w jednym programie (main()).
Proszę o pomoc z pewnością się odwdzięczę punkcikami pomocy. Pozdrawiam
[C++]Napisać funkcję kopiującą jedną tablicę znaków do drugi
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
[C++]Napisać funkcję kopiującą jedną tablicę znaków do drugi
Pierwsza część zadania to implementacja standardowej funkcji ze string.h strcpy(naco, co);
Kod: Zaznacz cały
#include <stdio.h>
char *fstrcpy(char *tabl1, char *tabl2) {
char *tablica1 = tabl1; // Zapamietujemy poczatek łańcucha aby go zwrócić
if (tabl2 == NULL)
return NULL;
while (*tabl2)
*(tabl1++) = *(tabl2++); // Kopiujemy po znaku
*tabl1 = 0; // Dodajemy znak kończący łańcuch
return tablica1;
}
int main(int argc, char *argv[]) {
char s[20]; //zmienna s ma nieokreśloną wartość
fstrcpy(s, "Test kopiowania."); // przypisanie wartości przez kopiowanie łańcucha
printf("%s
", s); // wypisanie zmiennej znakowej
return 0;
}