ďťż

Ładny brzuch

Witam!
Napisalem taki algorytm na łaczenie poszczególnych wierszy w tablicy.
Cos jednak nie gra ponieważ, kopiuje się tylko pierwsza litera a reszta to jakies smieci.
Prosze o wskazanie błedu i ewentualne poprawki.

#include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<iostream.h> char *dodaj(char *wsk); void polacz( char *wsk1, char *wsk2 ); main() { char *tab[MAX]; int x,y,i=0; int x,y,z,t=0;   printf("Wprowadz linie nr:");   scanf("%d",&i);     tab[i]=dodaj(tab[i]); printf(" Bedziemy laczyc wiersz (zrodlo) : ");     scanf("%d",&z);    printf("Z wierszem (cel) : ");     scanf("%d",&t);    polacz(tab[z],tab[t]); return 0; } //--------laczy wiersze---------------- void polacz(char *wsk1, char *wsk2) // wsk2 ->cel { for(int i=0; i< strlen(wsk1);i++) {  (*(wsk2+strlen(wsk2)+i))=(*(wsk1+i));   }  (*(wsk2+strlen(wsk2)+strlen(wsk1) ) )=0; } //--------dodaje wiersz-------- char *dodaj(char *wsk) {         wsk=new char[80];         printf("Podaj tekst: ");         flushall();   gets(wsk); if(!wsk) { printf("brak pamieci"); } return wsk; }
Użytkownik Crisu edytował ten post 27 listopad 2005, 12:17


no to przed rozpoczęciem pracy nad tablicą wyczyść ją

tablica na wejsciu jest zerowana..nie umieszczałem tutaj całego kodu programu bo byłby za długi.

Sprawdź to :Pchar* strcon(char*a,char*b) { char* bf = new char[512]; int x = strlen(a); for (int i=0; i<x; i++) bf[i] = a[i]; for (int i=0; i<strlen(a); i++) bf[x+i] = b[i]; bf[x+strlen(b)] = 0; return bf; }



Jeśli chcesz mieć "czystą" tablicę: zadeklaruj ją na początku jako static.
np.: static char tab [256];


Jeśli chcesz mieć "czystą" tablicę: zadeklaruj ją na początku jako static.
np.: static char tab [256];

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •