Tablica - jednowymiarowa

profesorq
Użytkownik
Użytkownik
Posty: 384
Rejestracja: 12 lut 2007, o 19:40
Płeć: Mężczyzna
Lokalizacja: wawa
Podziękował: 77 razy
Pomógł: 1 raz

Tablica - jednowymiarowa

Post autor: profesorq »

Oto deklaracja struktury:

Kod:

Kod: Zaznacz cały

struct person {
char name[20];
int weight;
};
Narysuj schemat(prosze o jakis rysunek w paincie i wstawienie) i napisz funkcje ktora dla dowolnie duzej jednowymiarowej tablicy takich struktur przekazanej jako argument wywolania funkcji wypisze na standardowym wyjściu wartosci pól name wsyzstkich elementow tablicy w ktorych wartosc pola weight jest wieksza od wartosci ostatniego argumentu tej funkcji.
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Tablica - jednowymiarowa

Post autor: kadiii »

Kod: Zaznacz cały

#include <iostream>
using namespace std;
typedef struct{
char name[20];
int weight;
}person;
void print_overweight(person tab[],int size,int norm)
{
  int i;
  for(i=0;i<size;i++) 
    {
      if(tab[i].weight>norm) cout<<tab[i].name<<" "<<tab[i].weight<<endl;
    } 
}
int main()
{
int size,i,norm;
 cout<<"Podaj wielkosc bazy"<<endl;
 cin>>size;
 cout<<"Podaj wzorzec wagi"<<endl;
 cin>>norm;
person *tab=new person[size]; 
 for(i=0;i<size;i++)
   { 
     cout<<"Podaj imie"<<endl;
     cin>>tab[i].name;
     cout<<"Podaj wage"<<endl; 
     cin>>tab[i].weight;
   }
 cout<<"Wyszukane osoby to: "<<endl;
 print_overweight(tab,size,norm);
 return 0;
}
Co do schematu to nie do końca wiem o jaki ci chodzi.
profesorq
Użytkownik
Użytkownik
Posty: 384
Rejestracja: 12 lut 2007, o 19:40
Płeć: Mężczyzna
Lokalizacja: wawa
Podziękował: 77 razy
Pomógł: 1 raz

Tablica - jednowymiarowa

Post autor: profesorq »

zapomnialem napisac to ma być w C
mógłby ktoś przerobic?
wystarczy sama funkcje napisac chyba

w poleceniu zadania nie ma persin nie wiem czy jest mozliwe ruszanie tego

Kod: Zaznacz cały

typedef struct{
char name[20];
int weight;
}person;
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

Tablica - jednowymiarowa

Post autor: soku11 »

Kod: Zaznacz cały

#include <stdio.h.>
#include <stdlib.h>

struct person
{
  char name[20];
  int weight;
};

void print_overweight(struct person tab[],int size,int norm)
{
  int i;
  for(i=0;i<size;i++)
    if(tab[i].weight > norm)
      printf("%s %d
", tab[i].name,tab[i].weight);
}

int main()
{
  int size,i,norm;
  struct person *tab;

  printf("Podaj wielkosc bazy: ");
  scanf("%d",&size);

  printf("Podaj wzorzec wagi: ");
  scanf("%d",&norm);


  tab=(struct person*)malloc(size*sizeof(struct person));

  for(i=0;i<size;i++)
  {
    printf("Podaj imie: ");
    scanf("%s",tab[i].name);
    printf("Podaj wage: ");
    scanf("%s",&(tab[i].weight));
  }

  printf("Wyszukane osoby to: 
");
  print_overweight(tab,size,norm);
  return 0;
}

Ja to widze jakos tak w C Kod niesprawdzany. POZDRO
ODPOWIEDZ