[ ilija simic @ 17.03.2010. 22:19 ] @
| Zadatak glasi da za broj n imam toliko clanova niza a i da ako je clan niza a negativan da ga kvadrira,a ako je pozitivan da se prepise.
Ja sam ovo napisao medjutim izbacuje mi brojeve koji uopste nemaju vezu sa unesenim.
Code: #include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int main()
{
int a[100],b[100],k,n,i,j;
printf("n:");
scanf("%i",&n);
for(i=0;i<n;i++)
{
printf("a[i]:");
scanf("%i",&a[i]);
}
if(a[i]<0)
b[j]=a[i]*a[i];
else
b[j]=a[i];
for(j=0;j<n;j++)
{
printf("%i \n" , b[j]);
}
getch();
return 0;
}
edit: nisam napisao da radim u c
[Ovu poruku je menjao Mihajlo Cvetanović dana 17.03.2010. u 23:38 GMT+1] |
[ Mihajlo Cvetanović @ 17.03.2010. 22:48 ] @
Dodao sam [code ] tagove da listing bude čitljiviji.
Ovaj program prvo u petlji čita niz a. Zatim van petlje proverava vrednost a[i ] i rezultat smešta u b[j ]. U tom trenutku i==n, jer se upravo izašlo iz petlje u kojoj je i raslo do n, a promenljiva j nije uopšte ni inicijalizovana, i ko zna koja joj je vrednost. Zatim se u drugoj petlji ispisuje niz b. Ono što ti fali je petlja kad obrađuješ podatke. Moraš čitav niz da "pretabanaš", a ne samo jedan član. A u toj petlji koju budeš ubacio treba ti samo jedno od promenljiva i i j, jer se isti indeks niza koristi i za niz a i za niz b. Znači, ovaj if blok teba da bude u petlji koja vrti po brojaču i (recimo), a unutar if-a umesto b[j] treba ti b[i ].
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.