[C]Tablica jednowymiarowa oraz wektory.

Michal99
Użytkownik
Użytkownik
Posty: 95
Rejestracja: 12 wrz 2010, o 17:27
Płeć: Mężczyzna
Podziękował: 49 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: Michal99 »

Witam. Mam problem z zadaniem.
Dane są dwa N-elementowe wektory A i B zawierające wygenerowane pseudolosowo liczby całkowite z zakresu 〈0, 99〉:
- utwórz wektor C zawierający na odpowiedniej pozycji większy z elementów wektorów A i B,
- utwórz wektor D będący sumą wektorów A i B,
- oblicz i wyświetl iloczyn skalarny wektorów A i B.
Rozmiar wektorów (N) zadeklaruj jako stałą (#define). Wyświetl wektory A, B, C i D.
Nie rozumiem drugiego myślnika, o co chodziło autorowi? Rozmiar wektorów powinien być wybrany przeze mnie oraz czy wszystkie 4 wektory powinny być zadeklarowane jako różne tablice?
Awatar użytkownika
kropka+
Użytkownik
Użytkownik
Posty: 4389
Rejestracja: 16 wrz 2010, o 14:54
Płeć: Kobieta
Lokalizacja: Łódź
Podziękował: 1 raz
Pomógł: 787 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: kropka+ »

1. \(\displaystyle{ D}\) to zwykła suma wektorów, czyli wektor o rozmiarze \(\displaystyle{ N}\) i elementach będących sumą odpowiadających sobie elementów wektorów \(\displaystyle{ A}\) i \(\displaystyle{ B}\).
2. Prosisz o podanie z klawiatury rozmiaru \(\displaystyle{ N}\)
3. \(\displaystyle{ A}\) i \(\displaystyle{ B}\) deklarujesz jako różne tablice. Dla \(\displaystyle{ C}\) i \(\displaystyle{ D}\) może być jedna (ale wyświetlasz od razu po obliczeniu).
Michal99
Użytkownik
Użytkownik
Posty: 95
Rejestracja: 12 wrz 2010, o 17:27
Płeć: Mężczyzna
Podziękował: 49 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: Michal99 »

Zabieram się do roboty. Jeszcze mam małe pytanie dotyczące drugiego programu.

Kod: Zaznacz cały

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
	int tab[23], i, sr=0, suma=0, min, max, r=0, a=0;
	for(i=0; i<24; i++)
	{
		tab[i]=sin(i/8.0-10)*cos(i/8.0-10)*30+10;
		suma=suma+tab[i];
		if(tab[i]<0)
			a++;
	}
	if(a>0)
		printf("Temperatura spadla ponizej zera
");

	sr=suma/23;
	printf("Srednia temperatura w ciagu doby wynosi %d 
", sr);

	min=tab[0];
	for(i=1; i<24; i++)
	{
		if(tab[i]<min)
			min=tab[i];

	}
	max=tab[0];
	for(i=1; i<24; i++)
	{
		if(tab[i]>max)
			max=tab[i];

	}
	r=max-min;
	printf("Roznica wynosi %d
", r);
	for(i=0; i<24; i++)
		if(tab[i]==min)
			printf("Najmniejsza temp byla o godzinie %d
", i);
	for(i=0; i<24; i++)
		if(tab[i]==max)
			printf("Najwieksza temp byla o godzinie %d
", i);




	system("PAUSE");
	return 0;
}
Po odpaleniu wyskakuje błąd, ale program dalej działa. Co jest przyczyną?
kalwi
Użytkownik
Użytkownik
Posty: 1931
Rejestracja: 29 maja 2009, o 11:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 145 razy
Pomógł: 320 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: kalwi »

zdaje się, że wyszedłeś poza tablicę, tj. chcesz odczytać (np.) element tab[10] mając zadeklarowaną tablicę tab[10] (a możesz stąd odczytać elementy od tab[0] do tab[9]).
Michal99
Użytkownik
Użytkownik
Posty: 95
Rejestracja: 12 wrz 2010, o 17:27
Płeć: Mężczyzna
Podziękował: 49 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: Michal99 »

Dobra, poprawiłem. Oto mój program z wektorami.

Kod: Zaznacz cały

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 6
int main(void)
{
	int a[N], b[N], i, c[N], suma=0;

	srand(time(NULL));
	printf("Wektor A
");
	for(i=0; i<N; i++)
	{
		a[i]=rand()%100;	
		printf("%d  ", a[i]);
	}
	printf("

");
	printf("Wektor B
");
	for(i=0; i<N; i++)
	{
		b[i]=rand()%100;
		printf("%d  ", b[i]);
	}
	printf("

");
	printf("Wektor C
");
	for(i=0; i<N; i++)
	{
		if(a[i]>=b[i])
			c[i]=a[i];
		else
			c[i]=b[i];
		printf("%d  ", c[i]);
	}
	printf("

");
	printf("Wektor D bedacy suma wektorow A i B
");

	for(i=0; i<N; i++)
	{
		c[i]=a[i]+b[i];
		printf("%d  ", c[i]);
	}
	printf("

");
	printf("Iloczyn skalarny wektorow A i B
");
	for(i=0; i<N; i++)
	{
		c[i]=a[i]*b[i];
		suma=suma+c[i];
	}
	printf("%d ", suma);
	printf("
");




	

	system("PAUSE");
	return 0;
}
Awatar użytkownika
kropka+
Użytkownik
Użytkownik
Posty: 4389
Rejestracja: 16 wrz 2010, o 14:54
Płeć: Kobieta
Lokalizacja: Łódź
Podziękował: 1 raz
Pomógł: 787 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: kropka+ »

No i działa?
Michal99
Użytkownik
Użytkownik
Posty: 95
Rejestracja: 12 wrz 2010, o 17:27
Płeć: Mężczyzna
Podziękował: 49 razy

[C]Tablica jednowymiarowa oraz wektory.

Post autor: Michal99 »

Tak mi się wydaje. Kod wrzuciłem, bo pomyślałem, że może komuś się przyda.
ODPOWIEDZ