[C] Tablice i pętle

sejman
Użytkownik
Użytkownik
Posty: 89
Rejestracja: 29 gru 2010, o 15:34
Płeć: Mężczyzna
Lokalizacja: Sztu
Podziękował: 22 razy

[C] Tablice i pętle

Post autor: sejman »

Witam. Mam do napisania program w języku C. Ma on za zadanie pobierać z klawiatury dane do dwóch dwudziestoelementowych tablic i zsumować wartości każdego elementu i wyświetlić sumę na ekranie. Tablice mają mieć taki sam rozmiar. Naskrobalem coś takiego i program się dobrze kompiluje odpalam, podaje wartości i po ostatniej się wysypuje. Co tu może byc źle. Uzywam Visual Studio 2010 i C++ jako środowiska.

Kod: Zaznacz cały

#include <stdio.h>
/**/
#define rozmiar 20
int tab1 [rozmiar];
int tab2 [rozmiar];
int licznik;
int sumuj (int x[], int y[], int z);
int main()
{	for (licznik=0; licznik<rozmiar; licznik++)
	{
		printf ("Podaj wartosc %d-ego elementu 
 pierwszej tablicy
", licznik+1);
		scanf ("%d", &tab1[licznik]);
		printf ("Podaj wartosc %d-ego elementu 
 drugiej tablicy
", licznik+1);
		scanf ("%d", &tab2[licznik]);
	}
	printf ("Suma wszystkich elementów obydwu tablic wynosi %d
", sumuj (tab1,tab2,rozmiar));
	getVKey();
	 return 0;
	}
int sumuj(int x[], int y[], int z)
	{
		int licz;
		int suma;
		for (licz=0; licz<z; licz++)
			suma += x[licz] + y[licz];
			return suma;
	}
Ostatnio zmieniony 2 paź 2011, o 21:59 przez Afish, łącznie zmieniany 2 razy.
Powód: Tagi [code][/code]
Crizz
Użytkownik
Użytkownik
Posty: 4094
Rejestracja: 10 lut 2008, o 15:31
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 12 razy
Pomógł: 805 razy

[C] Tablice i pętle

Post autor: Crizz »

Co to znaczy, że się wysypuje? Jeśli okienko znika, to być może to całe getVKey() (które nie wiem, skąd wygrzebałeś) za szybko coś połyka, spróbuj użyć system("PAUSE") albo odpalić program z konsoli.

Masz błąd na pewno, bo używasz do sumowania zmiennej suma o niezdefiniowanej wartości.

Jak już używasz C++ - warto zacząć też używać iostream.
sejman
Użytkownik
Użytkownik
Posty: 89
Rejestracja: 29 gru 2010, o 15:34
Płeć: Mężczyzna
Lokalizacja: Sztu
Podziękował: 22 razy

[C] Tablice i pętle

Post autor: sejman »

Dopiero się uczę ( właściwie przypominam sobie od zera). ten getVKey() to od mojego przyszłego projektu ( służy mi jako zatrzymanie programu na koniec, bo nie pamiętałem komendy system (PAUSE). Dzięki za jej podanie.) DOszedłem do wnisku że musze chyba wyzerować sumę przed rozpoczęciem pętli. A co do iostream to jescze nie doszedłem. Dzięki za pomoc ;D
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C] Tablice i pętle

Post autor: Afish »

Jeżeli programujesz w C, to nie ma iostream. Poza tym zamiast system("pause") lepiej użyć czegoś, co zadziała na większości systemów (wczytaj jakiegoś chara na przykład). Poza tym w mainie zamiast return 0 lepiej dać return EXIT_SUCCESS, bo 0 niekoniecznie musi oznaczać bezbłędne wykonanie.
Crizz
Użytkownik
Użytkownik
Posty: 4094
Rejestracja: 10 lut 2008, o 15:31
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 12 razy
Pomógł: 805 razy

[C] Tablice i pętle

Post autor: Crizz »

Afish pisze:Jeżeli programujesz w C, to nie ma iostream.
Zasugerowałem się:
sejman pisze:Uzywam Visual Studio 2010 i C++
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C] Tablice i pętle

Post autor: Afish »

A ja zasugerowałem się
Mam do napisania program w języku C
A poza tym

Kod: Zaznacz cały

#include <stdio.h>
ODPOWIEDZ