Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Zwracanie adresu tablicy w funkcji (wskaźniki)

$
0
0

Witam,

Mam problem z wykonaniem pewnego zadania a dokładnie jego części.

Zadanie brzmi tak: 

Napisz funkcję, której parametrem wejściowym jest tablica liczb rzeczywistych (tablica ta

zawiera liczby różne od zera, wartość 0 ustawiona jest w ostatnim elemencie tablicy). Wynikiem

funkcji jest adres utworzonej dynamicznie tablicy liczb całkowitych o rozmiarze odpowiadającej

tablicy wejściowej, poszczególne elementy tablicy wynikowej to –1 lub 1 (znak liczby

odpowiadającej liczby z tablicy wejściowej) i 0 ustawione na końcu tablicy.

Chciałbym się was zapytać, czemu program zwraca mi zły wynik. Nie proszę o całość, tylko o nakierowanie :) 

Program wygląda tak:

#include <iostream>
using namespace std;

//Funkcja zwracająca adres tablicy (tablica zawiera znaki liczb -1 lub 1)
int *znak(double *t, int n){
	int *t1 = new int [n];
	t1[n-1]=0;
	while(*t != 0){
		if(*t < 0)
			*t1=-1;
		else
			*t1=1;
		t++;
		t1++;
	}
	return &*t1;
}

int main(){
	cout<<"Podaj dlugosc tablicy (pamietaj, ze bedzie mniejsza o jeden element)\n";
	int n;
	cin>>n;
	double *t = new double [n];
	t[n-1]=0;
	for(int i=0; i<n-1; i++){
		cout<<"Podaj "<<i+1<<" element tablicy rozny od 0\n";
		cin>>t[i];
		if(t[i] == 0){
			cout<<"Element ma byc rozny od 0 ( x != 0 )\n";
			while(t[i] == 0)
				cin>>t[i];
		}
	}
	int *t1= new int [n];
	*t1=*znak(t,n);
	
	for(int i=0; i<n; i++){
		cout<<t1[i]<<" \n";
		i++;
	}
	
	delete [] t;
	delete [] t1;
	return 0;
}

 


Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>