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

ush c

Uploaded by

Almira Mecaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

ush c

Uploaded by

Almira Mecaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

1.

program qe lexon nga perdoruesi nje matrice me permasa m,n


dhe heq nga matrica rreshtin me me shume elemente negative

#include <stdio.h>

void readMatrix(int m, int n, int matrix[m][n]) {

for (int i = 0; i < m; i++) { --- for (int j = 0; j < n; j++) {

printf("Enter element [%d][%d]: ", i, j);

scanf("%d", &matrix[i][j]); } } }

void printMatrix(int m, int n, int matrix[m][n]) {

for (int i = 0; i < m; i++) { --- for (int j = 0; j < n; j++) {

printf("%d ", matrix[i][j]); } --- printf("\n"); } }

int findRowWithMostNegatives(int m, int n, int matrix[m][n]) {

int maxNegatives = -1; --- int rowIndex = -1;

for (int i = 0; i < m; i++) { --- int negativeCount = 0;

for (int j = 0; j < n; j++) { --- if (matrix[i][j] < 0) {

negativeCount++; } }

if (negativeCount > maxNegatives) {

maxNegatives = negativeCount;

rowIndex = i; ---}--- } --- return rowIndex; }

void removeRow(int m, int n, int matrix[m][n], int rowToRemove,

int newMatrix[m-1][n]) {

int newRow = 0;

for (int i = 0; i < m; i++) {

if (i == rowToRemove) { --- continue; --- }

for (int j = 0; j < n; j++) {

newMatrix[newRow][j] = matrix[i][j]; }

newRow++; } }

int main() { --- int m, n;

printf("Enter the number of rows: ");

scanf("%d", &m);

printf("Enter the number of columns: ");

scanf("%d", &n); --- int matrix[m][n];

readMatrix(m, n, matrix);

printf("Original Matrix:\n");

printMatrix(m, n, matrix);

int rowToRemove = findRowWithMostNegatives(m, n, matrix);

if (rowToRemove == -1) {

printf("No row with negative elements found.\n");

return 0; } --- int newMatrix[m-1][n];

removeRow(m, n, matrix, rowToRemove, newMatrix);

printf("Modified Matrix:\n");

printMatrix(m-1, n, newMatrix); --- return 0; }


2.Ndertoni nje funksion int digit (int *n, int *k) qe kthen shifren e k-te

(nga e djathta) ne numrin n (numer i plote pozitiv)

For: #include <stdio.h>

int digit_for(int *n, int *k) { --- int num = *n;

int pos = *k; --- for (int i = 1; i < pos; i++) {

num /= 10; --- if (num == 0) {

return -1; } } --- return num % 10; }

int main() { --- int n = 849;

int k = 2; --- int result = digit_for(&n, &k);

printf("Result using for loop: %d\n", result);

return 0; }

While: #include <stdio.h>

int digit_while(int *n, int *k) {

int num = *n; --- int pos = *k;

int i = 1; --- while (i < pos) {

num /= 10; --- if (num == 0) {

return -1; } --- i++; }

return num % 10; }

int main() { --- int n = 849;

int k = 2; --- int result = digit_while(&n, &k);

printf("Result using while loop: %d\n", result);

return 0; }

Do-while: #include <stdio.h>

int digit_do_while(int *n, int *k) {

int num = *n; --- int pos = *k;

int i = 1; --- if (pos <= 0) {

return -1; } --- do {

if (i == pos) { --- return num % 10; }

num /= 10; --- i++;

} while (num != 0 && i <= pos);

return -1; } --- int main() {

int n = 849; --- int k = 2;

int result = digit_do_while(&n, &k);

printf("Result using do-while loop: %d\n", result);

return 0; }

3. Te ndertohet nje funksion rekursiv qe llogarit mesataren e nje vektori me

n elemente. Prototipi i funksionit eshte: float mesatare(int a[], int n, int i )

#include <stdio.h>
int sum(int a[], int n, int i) {

if (i == n) { --- return 0;

} else { --- return a[i] + sum(a, n, i + 1); } }

float mesatare(int a[], int n, int i) {

if (n == 0) { --- return 0.0; }

int totalSum = sum(a, n, 0);

return (float)totalSum / n; }

int main() { --- int a[] = {1, 2, 3, 4, 5};

int n = sizeof(a) / sizeof(a[0]);

float avg = mesatare(a, n, 0);

printf("Mesatarja e vektorit eshte: %.2f\n", avg);

return 0; }

4.program qe lexon nje stringe nga perdoruesi edhe me pas

heq nga stringa karakterin "A" apo “a”.

#include <stdio.h>

#include <string.h>

void removeAandA(char str[]) {

int i, j; --- int len = strlen(str);

for (i = 0, j = 0; i < len; i++) {

if (str[i] != 'A' && str[i] != 'a') {

str[j++] = str[i] } } --- str[j] = '\0';

int main() { --- char str[100];

printf("Shkruani nje string: ");

fgets(str, sizeof(str), stdin);

size_t length = strlen(str);

if (length > 0 && str[length-1] == '\n') {

str[length-1] = '\0'; } --- removeAandA(str);

printf("Stringu i modifikuar: %s\n", str);

return 0; }

5. Ndertoni programin qe lexon nga tastjera te dhenat e

n studenteve dhe I ruan ato ne nje skedar universiteti.txt.


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

#include <string.h> --- typedef struct {

char emer[50]; --- char mbiemer[50];

int numri_amzes; --- float notat[4];

} Student;

float llogaritMesataren(Student student) {

float shuma = 0; --- for (int i = 0; i < 4; i++) {

shuma += student.notat[i]; }

return shuma / 4; }

int krahasoStudentet(const void *a, const void *b) {

Student *student1 = (Student *)a;

Student *student2 = (Student *)b;

float mesatarja1 = llogaritMesataren(*student1);

float mesatarja2 = llogaritMesataren(*student2);

return (mesatarja2 > mesatarja1) ? 1 : (mesatarja2 <

mesatarja1) ? -1 : 0; }

void lexoiRuajStudentet(char *filename, int n) {

FILE *file = fopen(filename, "w");

if (file == NULL) { --- perror("Error opening file");

exit(EXIT_FAILURE); }

Student student; --- for (int i = 0; i < n; i++) {

printf("Studenti %d:\n", i + 1);

printf("Emer: "); --- scanf("%s", student.emer);

printf("Mbiemer: ");

scanf("%s", student.mbiemer);

printf("Numri i amzes: ");

scanf("%d", &student.numri_amzes);

for (int j = 0; j < 4; j++) {

printf("Nota %d: ", j + 1);

scanf("%f", &student.notat[j]); }

fprintf(file, "%s %s %d\t%.2f\t%.2f\t%.2f\t%.2f\n",

student.emer, student.mbiemer, student.numri_amzes,

student.notat[0], student.notat[1], student.notat[2],

student.notat[3]); } --- fclose(file); }

int lexoStudentetNgaSkedari(char *filename, Student students[]) {

FILE *file = fopen(filename, "r");

if (file == NULL) { --- perror("Error opening file");

exit(EXIT_FAILURE); } --- int i = 0;

while (fscanf(file, "%s %s %d %f %f %f %f",

students[i].emer, students[i].mbiemer,

&students[i].numri_amzes,

&students[i].notat[0], &students[i].notat[1],
&students[i].notat[2], &students[i].notat[3]) != EOF) {

i++; } --- fclose(file);

return i; // Kthen numrin e studentëve të lexuar }

void renditDheShkruajStudentet(char *inputFile, char *outputFile) {

Student students[100];

int numStudents = lexoStudentetNgaSkedari(inputFile, students);

qsort(students, numStudents, sizeof(Student), krahasoStudentet);

FILE *file = fopen(outputFile, "w");

if (file == NULL) { --- perror("Error opening file");

exit(EXIT_FAILURE); } --- for (int i = 0; i < numStudents; i++) {

fprintf(file, "%s %s %d\t%.2f\t%.2f\t%.2f\t%.2f\n",

students[i].emer, students[i].mbiemer, students[i].numri_amzes,

students[i].notat[0], students[i].notat[1], students[i].notat[2], students[i].notat[3]); }

fclose(file); } --- int main(int argc, char *argv[]) {

if (argc != 2) { --- printf("Usage: %s <output_filename>\n", argv[0]);

return 1; } --- char *filename = argv[1];

int n;

printf("Shkruani numrin e studenteve: ");

scanf("%d", &n);

lexoiRuajStudentet(filename, n);

char outputFilename[] = "renditur_universiteti.txt";

renditDheShkruajStudentet(filename, outputFilename);

printf("Te dhenat jane ruajtur ne skedarin '%s' dhe jane renditur ne skedarin '%s'.\n", filename, outputFilename);

return 0; }

You might also like