0% found this document useful (0 votes)
70 views

Adder.c David J. Malan Malan@harvard - Edu Adds Two Numbers. Demonstrates Use of CS50's Library.

This C program creates colorful animations by calculating values for an array based on mathematical formulas, then displaying the results pixel-by-pixel on screen. It initializes variables, fills two arrays with random numbers and trigonometric values, then continuously updates colors for each pixel based on sinusoidal waves while displaying the frame and repeating this animation loop indefinitely.

Uploaded by

Rod Mel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Adder.c David J. Malan Malan@harvard - Edu Adds Two Numbers. Demonstrates Use of CS50's Library.

This C program creates colorful animations by calculating values for an array based on mathematical formulas, then displaying the results pixel-by-pixel on screen. It initializes variables, fills two arrays with random numbers and trigonometric values, then continuously updates colors for each pixel based on sinusoidal waves while displaying the frame and repeating this animation loop indefinitely.

Uploaded by

Rod Mel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

src1w/adder.

c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.

/**
* adder.c
*
* David J. Malan
* [email protected]
*
* Adds two numbers.
*
* Demonstrates use of CS50's library.
*/
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// ask user for input
printf("Give me an integer: ");
int x = GetInt();
printf("Give me another integer: ");
int y = GetInt();
// do the math
printf("The sum of %i and %i is %i!\n", x, y, x + y);
}

src1w/conditions-0.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.

/**
* conditions-0.c
*
* David J. Malan
* [email protected]
*
* Tells user if his or her input is positive or negative (somewhat
* inaccurately).
*
* Demonstrates use of if-else construct.
*/
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// ask user for an integer
printf("I'd like an integer please: ");
int n = GetInt();
// analyze user's input (somewhat inaccurately)
if (n > 0)
{
printf("You picked a positive number!\n");
}
else
{
printf("You picked a negative number!\n");
}
}

src1w/conditions-1.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.

/**
* conditions-1.c
*
* David J. Malan
* [email protected]
*
* Tells user if his or her input is positive or negative.
*
* Demonstrates use of if-else if-else construct.
*/
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// ask user for an integer
printf("I'd like an integer please: ");
int n = GetInt();
// analyze user's input
if (n > 0)
{
printf("You picked a positive number!\n");
}
else if (n == 0)
{
printf("You picked zero!\n");
}
else
{
printf("You picked a negative number!\n");
}
}

src1w/hello-0.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

/**
* hello-0.c
*
* David J. Malan
* [email protected]
*
* Says hello to the world.
*
* Demonstrates use of printf.
*/
#include <stdio.h>
int main(void)
{
printf("hello, world\n");
}

src1w/hello-1.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.

/**
* hello-1.c
*
* David J. Malan
* [email protected]
*
* Says hello to just David.
*
* Demonstrates use of CS50's library.
*/
#include <cs50.h>
#include <stdio.h>
int main(void)
{
string name = "David";
printf("hello, %s\n", name);
}

src1w/hello-2.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.

/**
* hello-2.c
*
* David J. Malan
* [email protected]
*
* Says hello to whomever.
*
* Demonstrates use of CS50's library and standard input.
*/
#include <cs50.h>
#include <stdio.h>
int main(void)
{
printf("State your name: ");
string name = GetString();
printf("hello, %s\n", name);
}

src1w/imprecision.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

/**
* imprecision.c
*
* David J. Malan
* [email protected]
*
* Divides one floating-point value by another.
*
* Demonstrates imprecision of floating-point values.
*/
#include <stdio.h>
int main(void)
{
printf("%.29f\n", 1.0 / 10.0);
}

src1w/nonswitch.c
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.

/**
* nonswitch.c
*
* David J. Malan
* [email protected]
*
* Assesses the size of user's input.
*
* Demonstrates use of Boolean ANDing.
*/
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// ask user for an integer
printf("Give me an integer between 1 and 10: ");
int n = GetInt();
// judge user's
if (n >= 1 && n
{
printf("You
}
else if (n >= 4
{
printf("You
}
else if (n >= 7
{
printf("You
}
else
{
printf("You
}
}

input
<= 3)
picked a small number.\n");
&& n <= 6)
picked a medium number.\n");
&& n <= 10)
picked a big number.\n");

picked an invalid number.\n");

src1w/thadgavin.c
1. /* http://www.ioccc.org/years.html */
2.
3.
int
4.
X=320
,Y=200,
5.
n=0,m,
x,y,
j=1024;
6.
double
T=44.0
/7,P[
7.
333333
],C[5]
={ 0,3,
8.
0,0,8}
,p=1,
B=11.0
9.
/630,
f=0,r
=
3,g
10.
=7,b
=13,*q=P,
D,*J;
11.
unsigned
char
12.
U[66666],*v=U,*h,l[5555]
13.
,c=0,*e,*a,*z;
14.
15.
#include <math.h>
16.
#define R1(t)
t=(int)(t\
17.
*123456789
)%j; t/=j;
18.
#define
Rl(C,t)\
19.
n++[C]
=
t*n/12;
20.
#define
RI(C)
B=-B; R1\
21.
(r)R1(g
)R1(b
)for(n\
22.
=0; n<j; ){ Rl(C
,r)Rl\
23.
(C,g)Rl(C
,b)++n; }
24.
25.
26.
27.
#ifdef __DJGPP__
28.
#include <sys/movedata.h>
29.
#include <dpmi.h>
30.
#include <pc.h>
31.
#define
Q(u,v)
u##portb(0x3##v
32.
#define
W
; Q(out,C9),*h++/4)
33.
void
F(int i){ __dpmi_regs r
34.
; if(i){ for(; i>=0; i-=8)while(
35.
~Q(in,DA)
36.
)&8^i); for(m=0,z
37.
=h+j; h
<z; m
++){ Q(
38.
out,C8),m
)W W W; ++h; } dosmemput
39.
(v,X*Y,0xA0000
); } else{
r.x.ax=
40.
0x13;
__dpmi_int(
0x10,&r); } }
41.
#elif defined(SDL)
42.
#include "SDL/SDL.h"
43.
SDL_Surface
*s; void
44.
F(int i){ if
(i){ SDL_SetColors(
45.
s,h,0,256);
SDL_UpdateRect
46.
(s,0,0,0,
0); } else { SDL_Init(
47.
SDL_INIT_VIDEO); s=SDL_SetVideoMode
48.
(X,Y,8,0);
v=s->pixels; } }

src1w/thadgavin.c
49.
#else
50.
#include "curses.h"
51.
void F(i){ if(i){ for(y=0;
52.
y<X*Y
; y++)
53.
{ move (y/X,y%X);
addch
54.
((*(v
+y)/
32)
[" ."
55.
",:+"
"=@#"
]); } ; refresh
56.
(); }
else{
initscr
57.
(),x=
COLS&~1,X=x<X?x:X,y=
58.
LINES
&~1,Y=y<Y?y:Y; } }
59.
#endif
60.
61. main(void)
62. {
63.
F(0);
64.
65.
for (x=-X/2,y=-Y/2;y<Y/2;++x>=X/2?x=-X/2,y++:4)
66.
{*q++ = sqrt(x*x+y*y);
67.
68.
*q++ = atan2(x,y);
69.
70.
}for (;n<j*2;l[n++]=0);
71.
for(;;)
72.
{
73.
a=l;z=l+j;e=l+j*2;
74.
if ((p+=B)>1){p=2-p;RI(l+j)}
75.
else if (p<0){p=-p;RI(l)}
76.
77.
while(a<l+j) D=p**a+++(1-p)**z++,*e++=D;
78.
h=l+j*2;
79.
80.
for (J=P,z=v; z<v+X*Y;){
81.
D = *J++;
82.
*z++=fabs(sin((*J+++C[1])*1.5+D*C[0]+C[2]*sin(C[3]+D/C[4]))*255);
83.
}F(8);
84.
85.
C[2]+=B; f+=T/360; C[3]+=f;
86.
87.
if (f>T)
88.
{C[1] += (f-T)/8;
89.
90.
if (f>T*2)
91.
C[0]=sin(f)+sin(f*2)/2;
92.
}
93.
}
94. }

You might also like