Forum www.pkiz3.fora.pl Strona Główna  
 FAQ  •  Szukaj  •  Użytkownicy  •  Grupy •  Galerie   •  Rejestracja  •  Profil  •  Zaloguj się, by sprawdzić wiadomości  •  Zaloguj
 [SOURCE] Program z kolokwium. 2007-11-19 Zobacz następny temat
Zobacz poprzedni temat
Napisz nowy tematOdpowiedz do tematu
Autor Wiadomość
snow




Dołączył: 07 Lis 2007
Posty: 18 Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pon 20:44, 19 Lis 2007 Powrót do góry

Dostalem za niego 5'tke, wiec chyba jest trafny Razz Razz Razz

:: Grupa 1 ::
Napisz program wywyolywany z parametrem N, ktory wylosuje 100 liczb z przedzialu <10,99>, a nastepnie posortuje malejaco (sortowanie przez zamiane [proste]).
Program ma wyswietlic wektor wyjscia. Posortuj wiersze po 10 liczb, przy czym zaznacz wielokrotnosci liczby N innym kolorem.

Kod:
~  snow . pas ~

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

main (int argc, char *argv[])
{
const x=100;
int i,c=0,j,n,a[x],tmp;

if (argc==2)
   {
   n=atoi(argv[1]);
   for (i=0; i<x; i++)
      {
      a[i]=rand()%89+10;
      }
   printf("Nasze liczby:\n\n\r");
   printf("|");
   for (i=0; i<x; i++)
      {
      c++;
      printf(" %2d ", a[i]);
      printf("|");
      if (c==10)
         {
         printf("\n\r");
         if (i!=x-1)
            printf("|");
         c=0;
         }
      }
   printf("\n\n\r");
   for (i=0; i<x-1; i++)
      for (j=i+1; j<x; j++)
         if (a[j]>a[i])
            {
            tmp=a[i];
            a[i]=a[j];
            a[j]=tmp;
            }
   printf("Po sortowaniu malejaco oraz po zaznaczeniu wielokrotnosci liczby %d:\n\n\r", n);
   printf("|");
   for (i=0; i<x; i++)
      {
      c++;
      if (a[i]%n==0)
         {
         textcolor(10);
         cprintf(" %2d ", a[i]);
         }
      else
         {
         printf(" %2d ", a[i]);
         }
      printf("|");
      if (c==10)
         {
         printf("\n\r");
         if (i!=x-1)
            printf("|");
         c=0;
         }
      }
   }
else
   {
   printf("Blad, uruchom program z parametrem!");
   }
getch();
return 0;
}


:: Grupa 2 ::
Napisz program wywyolywany z parametrem N, ktory wylosuje 100 liczb z przedzialu <10,99>, a nastepnie posortuje malejaco (sortowanie przez wybieranie [babelkowe?]).
Program ma wyswietlic wektor wyjscia. Posortuj wiersze po 10 liczb, przy czym zaznacz wielokrotnosci liczby N innym kolorem.

Kod:
~ snow2 . pas ~
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

main (int argc, char *argv[])
{
const x=100;
int i,c=0,j,n,a[x],tmp,id;

if (argc==2)
   {
   n=atoi(argv[1]);
   for (i=0; i<x; i++)
      {
      a[i]=rand()%89+10;
      }
   printf("Nasze liczby:\n\n\r");
   printf("|");
   for (i=0; i<x; i++)
      {
      c++;
      printf(" %2d ", a[i]);
      printf("|");
      if (c==10)
         {
         printf("\n\r");
         if (i!=x-1)
            printf("|");
         c=0;
         }
      }
   printf("\n\n\r");
   for (i=0; i<x-1; i++)
      {
      id=i;
      for (j=i+1; j<x; j++)
         if (a[j]>a[id])
            id=j;
      if (id>i)
         {
         tmp=a[id];
         a[id]=a[i];
         a[i]=tmp;
         }
      }
   printf("Po sortowaniu malejaco oraz po zaznaczeniu wielokrotnosci liczby %d:\n\n\r", n);
   printf("|");
   for (i=0; i<x; i++)
      {
      c++;
      if (a[i]%n==0)
         {
         textcolor(10);
         cprintf(" %2d ", a[i]);
         }
      else
         {
         printf(" %2d ", a[i]);
         }
      printf("|");
      if (c==10)
         {
         printf("\n\r");
         if (i!=x-1)
            printf("|");
         c=0;
         }
      }
   }
else
   {
   printf("Blad, uruchom program z parametrem!");
   }
getch();
return 0;
}


Post został pochwalony 0 razy

Ostatnio zmieniony przez snow dnia Wto 23:21, 20 Lis 2007, w całości zmieniany 3 razy
Zobacz profil autora
Gość






PostWysłany: Pon 20:48, 19 Lis 2007 Powrót do góry

Lame :p Trudne to Sad
Gość






PostWysłany: Pon 21:37, 19 Lis 2007 Powrót do góry

Cytat:

a[i]=rand()%89;
a[i]=a[i]+10;

A mozna tak:
Cytat:

a[i]=rand()%89+10;


A jeszcze jedno do twojego parametru co piszesz to lepiej tak zrobić[bo borlandzie nie odpalisz tak jak ty zrobiles]:
Cytat:

if (argc==2)
{
n=atoi(argv[1]);
}
else
{
printf("\n\rPodaj liczbe N:");
scanf("%d", &n");
}

Reszta kodu...
[/quote]
Andrew
Gość





PostWysłany: Pon 21:39, 19 Lis 2007 Powrót do góry

Cytat:

a[i]=rand()%89;
a[i]=a[i]+10;

A mozna tak:
Cytat:

a[i]=rand()%89+10;


A jeszcze jedno do twojego parametru co piszesz to lepiej tak zrobić[bo borlandzie nie odpalisz tak jak ty zrobiles]:
Cytat:

if (argc==2)
{
n=atoi(argv[1]);
}
else
{
printf("\n\rPodaj liczbe N:");
scanf("%d", &n");
}

Reszta kodu...
snow




Dołączył: 07 Lis 2007
Posty: 18 Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Śro 17:07, 21 Lis 2007 Powrót do góry

i oto chodzi Smile
polecenie bylo na program z parametrem, a nie wczytywaniu wartosci z klawiatury...

a co do tego 1wszego, mialem tak, tyle, ze zmienialem co sie dalo jak nie chcialo dzialac Very Happy

edit: jezeli ktos, czegos tutaj nie rozumie to moge zrobic jakies objasnienie... wystarczy napisac lub zapytac. sluze pomoca Smile


Post został pochwalony 0 razy
Zobacz profil autora
Żurek




Dołączył: 01 Lis 2007
Posty: 8 Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pią 18:28, 23 Lis 2007 Powrót do góry

Program bez zmian można normalnie odpalić w kompilatorze, bez włażenia do DOSa. Wystarczy wejść w Run -> Arguments... -> i wpisać argument
Potem standardowo crtl+F9 i uruchamia się bez problemu.


Post został pochwalony 0 razy
Zobacz profil autora
StrimeR




Dołączył: 05 Lis 2007
Posty: 10 Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Nie 19:45, 02 Gru 2007 Powrót do góry

Hujnia bo mi za kazdym razem jak chcem odpalic jakikolwiek program wyskakuje błąd w okienku windowsom a bc ++ sie zamyka wtf ??

Błąd:
Borland C++ for DOS
NTVDM CPU: napotkano niedozwoloną instrukcję.
i tutaj jakies bzdurne cyferki i literki. Wybierz przycisk Zamknij, aby zakończyc działanie aplikacji.

Pomoc = thx


Post został pochwalony 0 razy
Zobacz profil autora
Rożek




Dołączył: 12 Paź 2007
Posty: 16 Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: Antharas Lair

PostWysłany: Nie 20:03, 02 Gru 2007 Powrót do góry

Pomogę Ci.. Olej to Very Happy


Post został pochwalony 0 razy
Zobacz profil autora
Gość






PostWysłany: Pon 2:42, 03 Gru 2007 Powrót do góry

a[i]=rand()%89+10;[code]
Wiec ta funkcja rand wylosuje liczby z przedialu<20,99>
Czy myle sie?
snow




Dołączył: 07 Lis 2007
Posty: 18 Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pon 8:55, 03 Gru 2007 Powrót do góry

ta funkcja ma 2 kroki...

1: wylosuje liczbe od 0 do 89
2: do wyslosowanej liczby doda 10

co w rezultacje daje nam przedzial liczb od <10,99>


Post został pochwalony 0 razy
Zobacz profil autora
Wyświetl posty z ostatnich:      
Napisz nowy tematOdpowiedz do tematu


 Skocz do:   



Zobacz następny temat
Zobacz poprzedni temat
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001/3 phpBB Group :: FI Theme :: Wszystkie czasy w strefie EET (Europa)