---
title: "array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/54395-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "firstchoice"
published: "2002-09-27T07:19:54.000Z"
updated: "2002-09-27T08:45:26.000Z"
replies: 7
views: 281
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/54395-array"
---

# array

## #1 — firstchoice, 2002-09-27T07:19Z

vad är fel?

\<%

antal = 0
sum = 1

antal = cint(request.form("tal"))

for i = 0 to antal
falt(i) = array(i+1)
i = i + 1
next	

i = 0
do while i \< antal 

sum = falt(i) \* sum

loop

%\>

\<%
 response.write sum
%\>

\------------------------------
vi antar att talet som kommer från formuläret är 5
då skall scriptet göra förljande uträkning:
1\*2\*3\*4\*5 och räkna ut det
skulle man skriva in 3
1\*2\*3

vad är fel i mitt script??

Permalänk: https://www.webforum.nu/p/54395

## #2 — Viktor, 2002-09-27T07:21Z

Ett fel är att du har "i=i+1" i din for loop, i en for loop så räknas i upp automatiskt.

Vad får du för felmedelande/vad är det som blir fel.

/Viktor

Permalänk: https://www.webforum.nu/p/798339

## #3 — firstchoice, 2002-09-27T07:26Z

detta fel fick jag

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'falt'
/skolan/do/uppgift1_rakna.asp

Permalänk: https://www.webforum.nu/p/798342

## #4 — Palleman, 2002-09-27T07:38Z

Får man fråga vad det är du vill göra?

Gällande din *do while*\-loop så ser det riktigt farligt ut... ;)
Du sätter först **i=0**, sedan kör du en loop som håller på tills *antal* är mindre än *noll*, men då värdet *antal* aldrig minskar i den loopen kommer den hålla på i all evighet, inte bra.

Utveckla lite om vad du vill göra så ska vi se om vi kan hjälpa dig. :)

Permalänk: https://www.webforum.nu/p/798353

## #5 — Viktor, 2002-09-27T07:43Z

Som Palleman säger så måste du flytta ner "i=i+1" till din "do while loop".
Har du deklarerat vad falt är för något i programmet? När du kör med Arrayer så tror jag att du måste deklarera dem och hur stora de ska vara.
Typ,

```
dim falt(1 to antal) as variant
```

(är ingen VB expert så det kan vara fel på koden!)

/Viktor

Permalänk: https://www.webforum.nu/p/798358

## #6 — firstchoice, 2002-09-27T07:45Z

så här

användaren skall kunna skriva in ett tal i ett formulär

sen skall programmet räkna ut fakuliteten av det talet
alltså om man skriver in 5

skall programmet ta
1\*2\*3\*4\*5 och räkna ihop det

skulle man skriva in 8 så skall programmet räkna ihop
1\*2\*3\*4\*5\*6\*7\*8

och skriva ut talet

går det fixa?

Permalänk: https://www.webforum.nu/p/798363

## #7 — Viktor, 2002-09-27T08:09Z

Såhär kan man lösa det

```
<%
antal = 0
sum = 1
i = 0
antal = cint(request.form("tal"))
do while i < antal
  i=i+1
  sum = i * sum
loop
%>
<%
response.write sum
%>
```

/Viktor

Permalänk: https://www.webforum.nu/p/798379

## #8 — firstchoice, 2002-09-27T08:45Z

jaa!! :)

tack för hjälpen

så simpelt vad det, tydligen \*ler\*

ibland blir man blind!

/felix

Permalänk: https://www.webforum.nu/p/798395

---

Tråden på webben: https://www.webforum.nu/amne/asp/54395-array
