🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

7 total messages Started by Marcin Steciak Tue, 13 Jan 1998 20:24
Struktury w C
#655
Author: Marcin Steciak
Date: Tue, 13 Jan 1998 20:24
22 lines
1163 bytes
Pisze program w ktorym zdefiniowalem sobie strukture baza, jej zmienna
(??? - nie wiem czy tak sie to nazywa) nazwalem firma.

Doszedlem do momentu w ktorym chcialbym usuwac z tej struktury
elementy o numerze i. Napisalem w tym celu procedure:

		for(n=i+1;n<=index;i++)
			{
			firma[n]=firma[n+1];
			}
		index--;

ktora w moim zamiarze miala zapisac usuwane dane, danymi z nastepnego
elementu. Jednak  to nie dziala. Podczas kompilacji nie otrzymuje
komunikatu o bledzie, zas program "staje w miejscu". 

Jak mozna to zrobic inaczej, zeby dzialalo?

PS: index to ilosc obecnie zapisanych elementow struktury+1;

Pozdrawiam
Marcin Steciak
Re: Struktury w C
#656
Author: Qrczak
Date: Tue, 13 Jan 1998 21:06
10 lines
941 bytes
On Tue, 13 Jan 1998, Marcin Steciak wrote:

> 		for(n=i+1;n<=index;i++)
                                   ^

-- 
                                 QRCZAK      #
    __("<              Marcin Kowalczyk     #*#
    \__/              qrczak@knm.org.pl    #\#&#
     ^^      http://qrczak.home.ml.org/      I
Re: Struktury w C
#659
Author: Piotr Rudziński
Date: Wed, 14 Jan 1998 09:39
14 lines
830 bytes

Marcin Steciak <steciako@friko.onet.pl> wrote in article
<34bbcae0.4391914@news.man.lublin.pl>...

a sprobuj tak :

 
 		for(n=i;n<=index;n++)
 			{
 			firma[n]=firma[n+1];
 			}
 		index--;
 
Re: Struktury w C
#660
Author: Marek Kotowski
Date: Wed, 14 Jan 1998 11:15
21 lines
1073 bytes
Piotr Rudziñski wrote:
> a sprobuj tak :
> 
> 
>                 for(n=i;n<=index;n++)
>                         {
>                         firma[n]=firma[n+1];
>                         }
>                 index--;
> 
Jesli index oznacza dlugosc tablicy (co innego moze oznaczac?)
to petla jest zakodowana blednie. Oto wersja poprawna (dobrze
byloby ja tez sprawdzic :-): 

  for(n = i; n < index - 1; n++)
    firma[n] = firma[n + 1];


 Z powazaniem

 Marek Kotowski
Re: Struktury w C
#657
Author: Marcin Steciak
Date: Wed, 14 Jan 1998 13:21
14 lines
1025 bytes
On Tue, 13 Jan 1998 22:06:26 +0100, Qrczak <qrczak@knm.org.pl> wrote:

>On Tue, 13 Jan 1998, Marcin Steciak wrote:
>
>> 	bylo:	for(n=i+1;n<=index;i++)
>                                                       ^
jest:    for(n=i+1;n<=index;n++)    i dziala
                                    ^
Musialem byc wczoraj bardzo zmeczony (mielem dwa kolokwia) :-((

Dzieki za pomoc

Pozdrawiam
Marcin Steciak
Re: Struktury w C
#658
Author: Marek Kotowski
Date: Wed, 14 Jan 1998 14:27
22 lines
1509 bytes
Marcin Steciak wrote:
> >>      bylo:   for(n=i+1;n<=index;i++)
> >                                                       ^
> jest:    for(n=i+1;n<=index;n++)    i dziala
>                                     ^
> Musialem byc wczoraj bardzo zmeczony (mielem dwa kolokwia) :-((
> 

Co nie zmienia faktu, ze w Panskim programie jest blad (petla
kopiuje elementy nie nalezace do tablicy). W pewnych
sytuacjach kod ten moze pozornie dzialac poprawnie, ale nie
zmienia to faktu, ze jest bledny.
  I jeszcze jedno: w swoim wyjsciowym postingu pisze Pan o
strukturze i jej elementach (i-ty element). Otoz to, co Pan
robi, to jest kopiowanie elementow tablicy, a nie struktury.
Struktura ma skladowe, ktore nie sa indeksowane. To zupelnie
inny byt niz tablica.
  No, ale moze sie czepiam. W koncu skoro program dziala...:-)

  Pozdrawiam

  Marek Kotowski
Re: Struktury w C
#661
Author: Piotr Rudziński
Date: Wed, 14 Jan 1998 18:06
19 lines
1249 bytes

Marek Kotowski <mkot@imm.org.pl> wrote in article
<34BC9E50.5052@imm.org.pl>...
> Jesli index oznacza dlugosc tablicy (co innego moze oznaczac?)
> to petla jest zakodowana blednie. Oto wersja poprawna (dobrze
> byloby ja tez sprawdzic :-): 
> 
>   for(n = i; n < index - 1; n++)
>     firma[n] = firma[n + 1];

prawda, nie "wgryzlem sie" w to dobrze
kolega podpowiada jeszcze jedno usprawnienie :

 for(n = i + 1; n < index; n++)
     firma[n-1] = firma[n];

odpada liczenia (index - 1) przy kazdym powtarzaniu petli
ale tez radze sprawdzic :)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads