Lecture 2 Code Snippets
Slide 7
Slide 8
Slide 10
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
/** By: Negin Eini-pour **/
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int arr[15];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int max_length = 0;
int start = -1;
int end = -1;
for (int i = 0; i < n; i++) {
int sum = 0;
for (int j = i; j < n; j++) {
sum += arr[j];
if (sum == 0) {
int current_length = j - i + 1;
if (current_length > max_length) {
max_length = current_length;
start = i;
end = j;
}
}
}
}
if (max_length == 0) {
printf("[]\n");
} else {
printf("[");
for (int i = start; i <= end; i++) {
printf("%d", arr[i]);
if (i != end) {
printf(", ");
}
}
printf("]\n");
}
return 0;
}
Slide 17
Slide 18
/** By: Negin Eini-pour **/
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int arr[n];
int j =0;
while(j < n)
{
scanf("%d", &arr[j]);
j++;
}
int start = 0 , end = n-1;
while(start != end )
{
int i = start + 1;
while(i <= end)
{
if( arr[i] < arr[start])
{
int temp;
temp = arr[start];
arr[start] = arr[i];
arr[i] = temp;
/*swap2:
arr[start] = arr[start] + arr[end];
arr[end] = arr[start] - arr[end];
arr[start] = arr[start] - arr[end];
*/
}
i++;
}
start ++;
}
int k = 0;
while(k < n)
{
printf("%d ", arr[k]);
k++;
}
}
Slide 20
/** By: Negin Eini-pour **/
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int arr[n];
int j =0;
while(j < n)
{
scanf("%d", &arr[j]);
j++;
}
int start = 0 , end = n-1;
while(start < end)
{
int temp;
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
int k = 0;
while(k < n)
{
printf("%d ", arr[k]);
k++;
}
}
Slide 21
/** By: Negin Eini-pour **/
#include <stdio.h>
#include <math.h>
int main()
{
int num;
scanf("%d", &num);
if( num == 1)
{
printf("Not Prime");
return 0;
}
if( num == 2 || num == 3)
{
printf("Prime");
return 0;
}
for (int i = 2; i <= sqrt(num); i++)
{
if( num %i == 0)
{
printf("Not Prime");
return 0;
}
}
printf("Prime");
}
Slide 26
/** By: Negin Eini-pour **/
#include <stdio.h>
void hanoi( int n , char A, char B, char C)
{
if (n <= 1)
{
printf("\n Move disk 1 from rod %c to rod %c", A , B);
return;
}
hanoi( n-1, A , C, B);
printf("\n Move disk %d from rod %c to rod %c", n , A , B);
hanoi(n-1 , C, B, A);
}
int main()
{
int num_disk;
scanf("%d", &num_disk);
hanoi( num_disk, 'A', 'B', 'C');
}