Twoja wczesniejsza rada jakos nie ima sie do problemu. W innym miejscu radzili mi zebym przerobil kod na strukture i ze za pomoca tego bedzie mi latwiej no ok, jakos zrobilem ale stanolem w tym samym momencie. Jeszcze raz.
Tu gdzie mamy linijke
for(i=0;i<n;i++){
if(przedmiot.nr.wsk[i]<=n){
printf("Element o nr ... wsk %d do plecaka jako %d \n",przedmiot.nr.wsk[i],i);
}
}
ma ona byc odpowiedziala z wyswietlenie |NR ELEMENTU<przed posortowaniem tablicy wartsc[]/waga[] | wsk po posortowaniu , czyli tu tablica wartosc[] | i ostatnie element jako 1.2. czyli iteracja z pentli |
Nie moge poradzic sobie z nr elementu <miejsce ...>
Caly kod to
-wpsywanie danych
-dzialania -wyliczenie wsk
-posortowanie tablicy z wsk
-wyswietlenie elementow po posortowaniu ?
Chyba teraz rozjasnilem problem i o ile ktos umie to pomoze ...
Calosc:
#include<stdio.h>
int n,i,j,t;
int * p;
int main()
{
typedef struct typ1
{
int wartosc[100], waga[100];
int wsk[100];
}typ1;
typedef struct typ2
{
typ1 nr;
} typ2;
typ2 przedmiot;
//wybieranie rozmiaru plecaka
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf("Podaj rozmiar plecak: \n");
scanf("%d",&n);
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
//dodawanie kolejnych elementow
for(i=0;i<n;i++){
p = & i;
p++;
printf("podaj wartosc i wage przedmiotu nr %d :\n",i );
scanf ("%d", &przedmiot.nr.wartosc[i]);
scanf ("%d", &przedmiot.nr.waga[i]);
}
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
//wyswietlanie
for(i=0;i<n;i++){
printf("ElEMENT NR %d posiada wartosc %d i wage %d \n",i,przedmiot.nr.wartosc[i],przedmiot.nr.waga[i]);
}
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
//wyliczenie wsk
for(i=0;i<n;i++){
przedmiot.nr.wsk[i]=przedmiot.nr.wartosc[i]/przedmiot.nr.waga[i];
printf("ELEMENT NR %d ma wsk %d \n",i,przedmiot.nr.wsk[i]);
}
//sortowanie wsk
for(j=0;j<n;j++){
for(i=0;i<(n-1);i++){
if(przedmiot.nr.wsk[i]>przedmiot.nr.wsk[i+1]){
t = przedmiot.nr.wsk[i];
przedmiot.nr.wsk[i] = przedmiot.nr.wsk[i+1];
przedmiot.nr.wsk[i+1] = t;
}
}
}
//wyswietlenie wsk
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
for(i=0;i<n;i++){
if(przedmiot.nr.wsk[i]<=n){
printf("Element o nr ... wsk %d do plecaka jako %d \n",przedmiot.nr.wsk[i],i);
}
}
//kombinacje
printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
for(j=0;j<n;j++){
printf("Numer: %p\n", &i );
printf("Numer x: %d\n", i);
}
return 0;
}