Reklama
Pokazuje wyniki od 1 do 9 z 9

Temat: C-tablica dynamiczna

  1. #1
    Avatar Puchałke
    Data rejestracji
    2012
    Posty
    225
    Siła reputacji
    13

    Domyślny C-tablica dynamiczna

    Program ma pobrac rozmiar tablicy od uzytkownika, wypisac tablice, pobrac x i wypisac ile jest elementow wiekszych od x. Wie ktos czemu gdy ustale na sztywno x w deklaracji to program dziala, a jak chce zeby uzytkownik sam podal wartosc x to program wywala sie po podaniu 1 elementu tablicy.

    Kod:
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    
    int main()
    {
    	int i;
    	int x;
    	size_t n;
    	int *tab;
    	int funkcja(size_t, int, int*);
    	
    	printf("Podaj rozmiar tablicy: ");
    	scanf("%u", &n);
    	tab=malloc(n*sizeof(int));
    	
    	
    	printf("Podaj dane do tablicy\n");
    	for(i=0; i<n; i++)
    	{
    		printf("Podaj %d element: ", i+1);
    		scanf("%d", &tab[i]);
    	}
    	
    	printf("Twoja tablica\n");
    	for(i=0; i<n; i++)
    	{
    		printf("%d	", tab[i]);
    	}
    	printf("\n");
    	
    	printf("Podaj x: ");
    	scanf("%d", &x);
    	
    	printf("Liczba elementow wiekszych od %d: %d", x, funkcja(n,x,tab));
    	
    	return 0;
    }
    int funkcja(size_t n, int x, int *tab)
    {
    	int i,ile=0;
    	
    	for(i=0; i<n; i++)
    	{
    		if(tab[i]>x)
    		ile++;
    	}
    	return ile;
    }

  2. #2
    Avatar bercik
    Data rejestracji
    2005
    Położenie
    Rojca
    Wiek
    35
    Posty
    406
    Siła reputacji
    20

    Domyślny

    Możesz napisać którego kompilatora używasz? Wrzuciłem to do Visuala i jedyne o co sie rzucił to rzutowanie malloc:
    Kod:
    tab = malloc(n*sizeof(int));
    na
    Kod:
    tab = (int*)malloc(n*sizeof(int));
    Skompilowałem i działa:

  3. Reklama
  4. #3
    Avatar Puchałke
    Data rejestracji
    2012
    Posty
    225
    Siła reputacji
    13

    Domyślny

    DevC++ 5.4.1.0, takiego uzywamy tez na zajeciach. C mozna pisac bez (int*) przed malloc, w C++ musi byc.
    Ostatnio zmieniony przez Puchałke : 24-09-2013, 17:29

  5. #4
    Avatar bercik
    Data rejestracji
    2005
    Położenie
    Rojca
    Wiek
    35
    Posty
    406
    Siła reputacji
    20

    Domyślny

    W dalszym ciągu - u mnie działa:


    @edit
    Mój błąd - użyłem wersji stabilnej 5.4.0
    Sciągnąłem RC 5.4.1.0 i wciąż śmiga (może coś z konfiguracją masz nieteges?):
    Ostatnio zmieniony przez bercik : 24-09-2013, 17:46

  6. #5
    Avatar Puchałke
    Data rejestracji
    2012
    Posty
    225
    Siła reputacji
    13

    Domyślny

    No to nie wiem, z moim lapkiem chyba cos nie tak ;d

  7. #6

  8. #7
    Avatar St4nley
    Data rejestracji
    2007
    Położenie
    Wrocław
    Posty
    211
    Siła reputacji
    17

    Domyślny

    w visualu 2013 nie działało, ale po kosmetyce zadziałało i wygląda na to że jest w porządku.
    Jak chcesz to tu masz poprawiony:

    Kod:
    #include "stdafx.h"
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    
    int main()
    {
        size_t i;
        int x;
        size_t n;
        int *tab;
        int funkcja(size_t, int, int*);
        
        printf("Podaj rozmiar tablicy: ");
        scanf_s("%u", &n);
        tab=(int*)malloc(n*sizeof(int));
        
        
        printf("Podaj dane do tablicy\n");
        for(i=0; i<n; i++)
        {
            printf("Podaj %d element: ", i+1);
            scanf_s("%d", &tab[i]);
        }
        
        printf("Twoja tablica\n");
        for(i=0; i<n; i++)
        {
            printf("%d    ", tab[i]);
        }
        printf("\n");
        
        printf("Podaj x: ");
        scanf_s("%d", &x);
        
        printf("Liczba elementow wiekszych od %d: %d", x, funkcja(n,x,tab));
        
        return 0;
    }
    int funkcja(size_t n, int x, int *tab)
    {
        size_t i,ile=0;
        
        for(i=0; i<n; i++)
        {
            if(tab[i]>x)
            ile++;
        }
        return ile;
    }
    Ostatnio zmieniony przez St4nley : 24-09-2013, 18:02


  9. #8
    Avatar Puchałke
    Data rejestracji
    2012
    Posty
    225
    Siła reputacji
    13

    Domyślny

    @up u mnie nadal to samo, nie wiem czemu tak sie dzieje

  10. #9
    Avatar Messer
    Data rejestracji
    2004
    Położenie
    Płock
    Wiek
    32
    Posty
    499
    Siła reputacji
    20

    Domyślny

    Podeślij skompilowanego exeka jeżeli masz nadal problem, zerknę.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. [JAVA] Tablica obiektow
    Przez hefalump w dziale Programowanie
    Odpowiedzi: 1
    Ostatni post: 31-10-2014, 23:24
  2. [C] Tablica - dziwne zachowanie
    Przez Kusterek w dziale Programowanie
    Odpowiedzi: 4
    Ostatni post: 10-02-2014, 12:48
  3. Ekonometria dynamiczna
    Przez haxigi w dziale Szkoła i nauka
    Odpowiedzi: 0
    Ostatni post: 01-01-2014, 12:30
  4. Ekonometria dynamiczna i finansowa
    Przez haxigi w dziale Szkoła i nauka
    Odpowiedzi: 0
    Ostatni post: 17-10-2013, 13:00
  5. Dynamiczna tablica w C (NIE C++)
    Przez zakius w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 2
    Ostatni post: 19-04-2012, 07:49

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •