Programmeringsbekymmer

Här diskuteras programmering och utveckling
Aluhuru
Inlägg: 34
Blev medlem: 26 apr 2007, 18:46
OS: PCLinuxOS
Ort: Hallstahammar

Programmeringsbekymmer

Inlägg av Aluhuru »

Hej!
Nu är det så att jag har en uppgift i C-programmering som ska utföras, men jag FATTAR INTE hur jag ska lösa den och jag ligger långt efter de uppgifter som jag ska hålla på med. Skulle någon kunna ta sig lite tid att förklara hur jag ska gå till väga? Kanske gasol kan försöka förklara för mig...
---------------------------------------------------
Skriv in ett program som läser in 10 heltal i en array. Programmet ska därefter fråga vilket tal som ska identifieras och därefter söka efter antalet förekomster av detta heltal i arrayen.
Exempel. Talen 5,7,3,9,1,89,16,1,9,7 matas in och därefter ska talet '9' matas in för att efterfrågas och han ska svara att "talet 9 förekommer 2 gånger".
------------------------------------
Hoppas någon kan ge mig en liten vägledning om hur jag ska göra.
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

SV: Programmeringsbekymmer

Inlägg av gasol »

Tjena, det borde gå ganska snabbt att lösa ditt problem.

Med scanf så kan du läsa in tal. Det fungerar precis som med printf

Kod: Markera allt

scanf(const char *format, ...);
läser in ett heltal från användaren

Kod: Markera allt

int tal;
scanf("%d", &tal);
Sedan gör du detta 10 gånger och sparar detta i en array. Arrayer deklareras på detta sätt

Kod: Markera allt

int mina_tal[10];
talet inom klammerparenteserna säger hur stor din array är, eller hur många tal som ska få plats i den.

För att göra en tilldelning så skriver du såhär:

Kod: Markera allt

mina_tal[3] = tal;
Men kom ihåg att indexet dvs 3:an i det här fallet börjar från 0!

så du har mina_tal[0], mina_tal[1] osv upp till mina_tal[9].

Sedan så kan du bara skriva en loop som kollar hur många gånger det sista talet ligger i din array.
The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Aluhuru
Inlägg: 34
Blev medlem: 26 apr 2007, 18:46
OS: PCLinuxOS
Ort: Hallstahammar

SV: Programmeringsbekymmer

Inlägg av Aluhuru »

Hej, och tack för ett snabbt svar.
Nu är jag dålig på att förstå men är det ungefär så här som du menade?

Kod: Markera allt

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

int main(void)
{
  /* Declare your variables here... */
  int inlastaTal, inlastaTalen[10];
  
  printf("Mata in 10 heltal");
  for(inlastaTal=0;inlastaTal<10;inlastaTal++)
  {
   scanf("%d", &inlastaTalen[inlastaTal);
  }
  printf("Vilket tal ska efterfrågas? > ");
  inlastaTalen[inlastaTal] = inlastaTal;
  //Loopen här?
  system("PAUSE");
  return 0;
}
Jag använder även boken "Problem Solving in C", men ändå så förstår jag inte till fulla det här med funktioner, arrayer och pekare.

Mvh. Joakim
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

SV: Programmeringsbekymmer

Inlägg av gasol »

Kod: Markera allt

int main(void)
{
  /* Declare your variables here... */
  int inlastaTal, inlastaTalen[10], int ett_tal;
  
  printf("Mata in 10 heltal");
  for(inlastaTal=0;inlastaTal<10;inlastaTal++)
  {
   scanf("%d", &inlastaTalen[inlastaTal); <---- du har missat ett ] här
  }
  printf("Vilket tal ska efterfrågas? > ");
  scanf("%d", &ett_tal)

   for(inlastaTal=0;inlastaTal<10;inlastaTal++)
  {
      // här kollar du om det sista talet du läste in finns i listan med inlästa tal
      if(inlastaTalen[inlastaTal] == ett_tal) {
                // räkna hur många gånger "ett_tal" finns i listan inlastaTalen och skriv ut det
      }
  }

  system("PAUSE");
  return 0;
}

The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Skriv svar

Återgå till "Programmering och webbdesign"