Форум программистов, компьютерный форум CyberForum.ru

Лабораторные работы по информатике. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 50, средняя оценка - 4.74
Алёнка58
 Аватар для Алёнка58
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 13
09.12.2010, 17:58     Лабораторные работы по информатике. #1
Добрый вечер. помогите пожалуйста решить... я в С++ ничего не понимаю... а скоро уже сдавать...
Вот задание: 1. Дан текст из 15 литер. Напечатать только строчные английские буквы, входящие в этот текст.
2.Для матрицы А(10,15) вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде двух строк.


Заранее спасибо! Вся надежда на вас!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.12.2010, 23:15     Лабораторные работы по информатике. #21
2
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ROWS 10
#define COLUMNS 15
 
int main(void){
    int matrix[ROWS][COLUMNS], cnt[COLUMNS] = { 0 }, sum[COLUMNS] = { 0 }, i, j;
    
    srand(time(NULL));
    printf("Matrix:\n");
    for ( i = 0; i < ROWS; ++i ){
        for ( j = 0; j < COLUMNS; ++j ){
            printf("%4d", ( matrix[i][j] = rand() % 21 - 10 ));
            if ( matrix[i][j] > 0 ){
                cnt[j] += 1;
                sum[j] += matrix[i][j];
            }
        }
        printf("\n");
    }
    printf("Sum of positive elements:\n");
    for ( i = 0; i < COLUMNS; ++i )
        printf("%4d", sum[i]);
    printf("\nCount of positive elements:\n");
    for ( i = 0; i < COLUMNS; ++i )
        printf("%4d", cnt[i]);
    printf("\n");
    
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Алёнка58
 Аватар для Алёнка58
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 13
12.12.2010, 23:28  [ТС]     Лабораторные работы по информатике. #22
Спасибо большое Андрей! Прям вооот огромнейшее, вы выручили очень сильно!!!!
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.12.2010, 23:38     Лабораторные работы по информатике. #23

Не по теме:

Цитата Сообщение от slice Посмотреть сообщение
Если не затруднит, вторую еще сделай, плиз.
Да сделал уже... Барышне программирование нужно, как (извиняюсь) коту презерватив. Тут другой помощи, кроме "тупо взять да сделать" по определению не предполагается...



3
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct POINT {
    double x;
    double y;
    double m;
} point_t;
 
#define NUM_POINTS 3
 
int main(void){
    point_t points[NUM_POINTS], center;
    int i;
    
    memset(&center, 0, sizeof(point_t));
    for ( i = 0; i < NUM_POINTS; ++i ){
        printf("Point #%d:\n", i + 1);
        printf("X = ");
        scanf("%lf", &points[i].x);
        printf("Y = ");
        scanf("%lf", &points[i].y);
        printf("M = ");
        scanf("%lf", &points[i].m);
        center.x += points[i].x * points[i].m;
        center.y += points[i].y * points[i].m;
        center.m += points[i].m;
    }
    center.x /= center.m;
    center.y /= center.m;
    printf("Gravity center:\nX = %.1f\tY = %.1f\n", center.x, center.y);
    
    return 0;
}
Добавлено через 3 минуты
Алёнка58, а вот с четвёртой - иметь бы хоть малейшее представление, чему вас там учат... А то сделаю - окажется опять не так, а писанины там на С много... Там програмка на С++ маленькой исключительно за счёт использования стандартного класса получилась...
Алёнка58
 Аватар для Алёнка58
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 13
12.12.2010, 23:46  [ТС]     Лабораторные работы по информатике. #24
Как раз вы правильно 4 сделали...спасибо!

Добавлено через 4 минуты
Блин не то написал...че то перепутала... С четвертой напишите пожалуйста как сами считаете нужным, я уж разберусь...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.12.2010, 23:46     Лабораторные работы по информатике. #25
Цитата Сообщение от Алёнка58 Посмотреть сообщение
Как раз вы правильно 4 сделали...спасибо!
О, как! О_о
Ну хорошо, правильно - так правильно...
Алёнка58
 Аватар для Алёнка58
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 13
12.12.2010, 23:48  [ТС]     Лабораторные работы по информатике. #26
Да я перепутала у меня просто в самих лабораторных 4 лаба идет как у вас 1... меня че то переклинило
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.12.2010, 01:35     Лабораторные работы по информатике. #27
4
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
 
typedef struct STUDENT {
    int id;
    char * name;
    char * address;
    char * specialty;
} student_t;
 
int name_asc_cmp(const void * a, const void * b){
    return strcmp(((student_t*)a)->name, ((student_t*)b)->name);
}
 
char * win2dos(const char * str){
    static char buf[BUFSIZ];
    CharToOemA(str, buf);
    return buf;
}
 
char * dos2win(const char * str){
    static char buf[BUFSIZ];
    OemToCharA(str, buf);
    return buf;
}
 
int main(void){
    student_t * students;
    int cnt, i;
    char ch, buf[BUFSIZ], *p;
    
    students = NULL;
    cnt = 0;
    
    while ( printf("\n%d %s > ", cnt, win2dos("студентов в базе\n1 - добавить нового, 0 - закончить")) && scanf("%c%*c", &ch) == 1 && ch == '1' ){
        if ( ( students = (student_t*)realloc(students, sizeof(student_t) * (cnt + 1)) ) == NULL ){
            perror("realloc");
            exit(1);
        }
        printf("\n%s %d\n", win2dos("Студент номер"), ( students[cnt].id = cnt + 1 ));
        printf("%s: ", win2dos("ФИО"));
        scanf("%1024[^\n]%*c", buf);
        if ( ( students[cnt].name = strdup(dos2win(buf)) ) == NULL ){
            perror("strdup");
            exit(1);
        }
        printf("%s: ", win2dos("Адрес"));
        scanf("%1024[^\n]%*c", buf);
        if ( ( students[cnt].address = strdup(dos2win(buf)) ) == NULL ){
            perror("strdup");
            exit(1);
        }
        printf("%s: ", win2dos("Специальность"));
        scanf("%1024[^\n]%*c", buf);
        if ( ( students[cnt].specialty = strdup(dos2win(buf)) ) == NULL ){
            perror("strdup");
            exit(1);
        }
        ++cnt;
    }
    
    qsort(students, cnt, sizeof(student_t), name_asc_cmp);
    printf("%s:\n", win2dos("Сортированный список"));
    printf("#    %-25s", win2dos("ФИО"));
    printf("%-30s", win2dos("Адрес"));
    printf("%s\n", win2dos("Специальность"));
    printf("---------------------------------------------------------------------------\n");
    for ( i = 0; i < cnt; ++i ){
        printf("%-5d%-25s", students[i].id, win2dos(students[i].name));
        printf("%-30s", win2dos(students[i].address));
        printf("%s\n", win2dos(students[i].specialty));
    }
    printf("---------------------------------------------------------------------------\n");
    
    for ( i = 0; i < cnt; ++i ){
        free(students[i].name);
        free(students[i].address);
        free(students[i].specialty);
    }
    free(students);
    
    exit(0);
}
lemegeton
13.12.2010, 01:43
  #28

Не по теме:

Цитата Сообщение от Алёнка58 Посмотреть сообщение
Андрюш, а вы случайно в ANSI C не работаете? оказывается мне на этом языке нужно написать...
Oh, My, God.

Придется тебе, Алёнка58, Андрюшу на свидание звать. Даже если тебе двадцать лет и ты бородат. Пивасиком надо проставиться, а то не по совести получается, пацан вписался, время много потратил.

Алёнка58
 Аватар для Алёнка58
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 13
13.12.2010, 07:09  [ТС]     Лабораторные работы по информатике. #29
Да вот надо как то отблагодарить =( а вот только как...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.12.2010, 07:32     Лабораторные работы по информатике. #30
Алёнка58, да Вы сдайте сначала... А то окажется, что учат вас програмки под linux какой-нибудь писать, и вся русификация вместе с windows.h ни к чему вовсе... Да и опять чего-нибудь не проходили ещё...
Алёнка58
 Аватар для Алёнка58
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 13
13.12.2010, 17:45  [ТС]     Лабораторные работы по информатике. #31
Спасибо большое Андрей!
Злостный Гном
 Аватар для Злостный Гном
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 5
16.12.2010, 13:44     Лабораторные работы по информатике. #32
эти программы VISUAL STUDIO C++ не опознает можете сделать хотябы первые две задачи аленки58 через вижуал
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.12.2010, 14:16     Лабораторные работы по информатике. #33
Цитата Сообщение от Злостный Гном Посмотреть сообщение
эти программы VISUAL STUDIO C++ не опознает можете сделать хотябы первые две задачи аленки58 через вижуал
Все задачи решены в двух вариантах (С/С++), и все 8 программ (4х2) прекрасно компилируются студийным компилятором. Что-то Вы не так делаете...
mixtape
0 / 0 / 0
Регистрация: 16.11.2010
Сообщений: 4
16.12.2010, 14:20     Лабораторные работы по информатике. #34
Надо будет тоже на аву фото симпотичной девушки поставить, а то мне никогда не помогают тут =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2010, 14:43     Лабораторные работы по информатике.
Еще ссылки по теме:

Олимпиада по информатике C++
C++ Лабораторные работы по C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.12.2010, 14:43     Лабораторные работы по информатике. #35
Я так понимаю, барышня зачёты свои получила и кроме флуда тут уже ничего не будет. Тема закрыта.
Yandex
Объявления
16.12.2010, 14:43     Лабораторные работы по информатике.
Закрытая тема Создать тему
Опции темы

Текущее время: 12:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru