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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
#1

Строки/Матрицы/Функции/Списки - C++

16.12.2011, 23:54. Просмотров 718. Ответов 13
Метки нет (Все метки)

Доброго времени суток!
Очень нуждаюсь в помощи, срочно.
Нужно написать 4 проги, вроде лёгкие, но я сам не могу понять

1) Строки: Дана строка: Ваши фамилия, имя и отчество записаны через один пробел. Подсчитать кол - во букв "о" во всей строке.
2) Матрицы:Дана матрица. Найти для каждой строки матрицы сумму максимального и минимального элементов. Распечатать в виде столбца.
3) Функции: Написать программу, подсчитывающую число сочетаний без повторения из N элементов по K элементов: C(N,K) = N!/K! (N - K)! + 2 способа ввода чисел вручную и автоматически.
4) Списки: Найти кол - во чисел в списке, которые совпадают с числом, стоящим на заданном месте.

Ребят, вся надежда на вас! Плиз, помогите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2011, 23:54     Строки/Матрицы/Функции/Списки
Посмотрите здесь:

Поиск максимального элемента строки матрицы (функции) - C++
Здравствуйте! Помогите пожалуйста с задачкой: сделать программу в функции которой будет высчитываться произведение максимальных эле¬ментов...

Оформить сортировку элементов отдельной строки матрицы в виде функции - C++
Помогите, срочно нужно сдать. Программу надо переделать. Нужно оформить как функцию сортировку элементов отдельной строки. Ввод и вывод...

Отсортировать по убыванию все строки матрицы при помощи функции - C++
Отсортировать по убыванию все строки матрицы при помощи функции Помогите....не понимаю как.... Добавлено через 2 часа 9 минут вот...

Представить определение функции, позволяющей переставить местами элементы указанной строки и побочной диагонали квадратной матрицы - C++
Представить определение функции, позволяющей переставить местами элементы указанной строки и побочной диагонали квадратной матрицы....

Строки, сортировки, списки - C++
Выбрать из текста слова, начинающиеся и заканчивающиеся одной и той же буквой, и вы- вести их на экран. Обмен содержимого двух строк. ...

Односвязные списки (функции обращения списка) - C++
1. Написать рекурсивную функцию обращения списка. 2. Написать итеративную функцию обращения списка. :С попытался написать, так и не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
17.12.2011, 00:29     Строки/Матрицы/Функции/Списки #2
1)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    char str[50],c='o';
    int i,count=0;
    gets(str);
    for (i=0;i<strlen(str);i++)
        if (str[i]==c)
            count++;
    printf("%d",count);
    getch();
    return 0;
}
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 00:44  [ТС]     Строки/Матрицы/Функции/Списки #3
strlen и getch не может инициализировать, можно заменить??))

Добавлено через 10 минут
Не, не пашет(((
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
17.12.2011, 00:54     Строки/Матрицы/Функции/Списки #4
Попробуйте тогда так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
        char str[50],c='o';
        int i,count=0;
        gets(str);
        for (i=0;i<50;i++)
    {       if (str[i]=='\0')
            break;
                if (str[i]==c)
                        count++;
    }
        printf("%d",count);
        system("pause");
        return 0;
}
Только странно что у вас не работает, у меня все норм
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 01:05  [ТС]     Строки/Матрицы/Функции/Списки #5
Ввожу ФИО, enter... И прога молчит, что за дрянь то??(((

Добавлено через 46 секунд
Даже понять не могу в чём проблема((
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
17.12.2011, 01:06     Строки/Матрицы/Функции/Списки #6
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
33
34
#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    int **arr,max,min,sum,n,m,i,j;
    printf("Vvedite koli4estvo strok\n");
    scanf("%d",&n);
    printf("Vvedite koli4estvo stolbcov\n");
    scanf("%d",&m);
    arr=(int**)calloc(n,sizeof(int*));
    for (i=0;i<n;i++)
        arr[i]=(int*)calloc(m,sizeof(int));
 
    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
            scanf("%d",&arr[i][j]);
    for (i=0;i<n;i++)
    {
        max=arr[i][0]; min=arr[i][0];
        for (j=0;j<m;j++)
            if (max<arr[i][j])
                max=arr[i][j];
            else min=arr[i][j];
       sum=min+max;
       printf("%d\n",sum);
    }
    for (i=0;i<n;i++)
        free(arr[i]);
    free (arr);
    system("pause");
    return 0;
}
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 01:09  [ТС]     Строки/Матрицы/Функции/Списки #7
Кстати, у меня eclipse выдаёт ошибку типа: Description Resource Path Location Type
cannot open output file Прога.exe: Permission denied Прога C/C++ Problem

Как можно устранить??
(Всей группой боролись, но так и не выяснили))
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
17.12.2011, 01:17     Строки/Матрицы/Функции/Списки #8
Я компилирую в Visual Stidio 2010. На счет Eclipse я не знаю
Вот скрин работы програмы:
Миниатюры
Строки/Матрицы/Функции/Списки   Строки/Матрицы/Функции/Списки  
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 12:09  [ТС]     Строки/Матрицы/Функции/Списки #9
Огромное спасибо))
Вот только проблема в том, что мне всё это в C++ нужно и в eclipse))

Добавлено через 10 часов 49 минут
Ilina Rimma Sergeyevna
„«п Їа®¤®«¦Ґ*Ёп **¦¬ЁвҐ «оЎго Є«*ўЁиг . . .

Первая прога выдаёт такой ответ, из за чего это может быть то??))
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2011, 13:37     Строки/Матрицы/Функции/Списки #10
Так как это просто лабы, то сделать видимость C++ несложно) Например, так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
int main(int argc, char** argv) 
{
    std::string name;
    std::getline(std::cin,name,'\n');
 
    int k = 0;
    for(int i = 0;i<name.size();++i)
        if(name[i]=='o')++k;
    std::cout << k << std::endl;
    system("pause");
    return 0;
}
А уж с настройкой эклипса постарайтесь разобраться сами (у меня VS 2010). Это ведь среда разработки. А значит, какой-то особенный синтаксис не нужен.

Добавлено через 15 минут
По спискам.
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
#include <iostream>
#include <list>
 
#define LIST_SIZE 100 //кол-во элементов
#define LIST_PLACE 23 //номер места, на котором стоит заданное число
 
int main(int argc, char** argv) 
{
    std::list<int> spisok;
 
    for(int i = 0;i<LIST_SIZE;++i)
        spisok.push_back(rand()%10);
 
    auto it = spisok.begin();
    for(int i = 0;i < LIST_PLACE;++i)++it;
 
    int t = *it;//нужное число
    int count = -1;//счетчик кол-ва
    for(it = spisok.begin();it != spisok.end();++it)
        if(*it == t)++count;
 
    std::cout << count << std::endl;
    system("pause");
    return 0;
}
Если в списке нет элементов, совпадающих с заданным (ну кроме него самого, конечно), то прога выдаст 0.

Добавлено через 1 минуту
По поводу подсчета сочетаний - что конкретно от вас хотят? насколько большие числа будут и т.д.
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 14:38  [ТС]     Строки/Матрицы/Функции/Списки #11
По поводу подсчёта сочетаний: Нужно взять элементы с номера N по номер K и подсчитать сколько будет сочетаний с взятыми числами
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2011, 15:05     Строки/Матрицы/Функции/Списки #12
Я имел ввиду скорее тему, по которой было выдано это задание. Это рекурсии или это в цикле считать надо. Надо ли это вначале упрощать, чтобы избежать очень больших чисел при расчете факториала, или вам заранее известно, что N и K - небольшие.
Anshmidt
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 15:09  [ТС]     Строки/Матрицы/Функции/Списки #13
Ах вот оно что))
N & K небольшие числа.
Это рекурсивная задача должна быть))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2011, 15:19     Строки/Матрицы/Функции/Списки
Еще ссылки по теме:

Списки: общая организация, основные функции - C++
Пом-гите решить, заранее благодарен Билет 1 1 Списки: общая организация, основные функции. 2 Решить задачу: Представлен...

Списки: функции для работы со списками - C++
Помогите пожааааааалуйста с задачками!!!! ;) ОПИШИТЕ ФУНКЦИИ ТИПОВЫХ ОПЕРАЦИЙ С СПИСКАМИ: 1. Функция AddHead (int d) добавление узла...

Новичок в Визуал Студио С++ Односвязные списки, Строки, - C++
Здравствуйте, я всю жизнь писал на Delphi7 а тут взялся курсак написать другу в С++ у меня стоит Visual Studio 2010, пишу на Visual С++ в...

Двусвязные списки: функции ввода, вывода, поиска и удаления - C++
Есть структура Element и блок управления Object Они находятся в list.h #pragma once struct Element ...


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

Или воспользуйтесь поиском по форуму:
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.12.2011, 15:19     Строки/Матрицы/Функции/Списки #14
Если рекурсия и если действительно небольшие числа (при 21 будет уже переполнение 64-битного беззнакового числа), то как-то так будет выглядеть рекурсивная функция факториала
C++
1
2
3
4
5
unsigned long long factorial(unsigned long long a)
{
    if(a<=1)return 1;
    return a*factorial(a-1);
}
Ее нужно будет вызвать для N, для K и для (N-K). А потом нужное поделить.

Если значения будут больше, чем 21, то нужно будет перед умножениями вначале сокращать.
Yandex
Объявления
17.12.2011, 15:19     Строки/Матрицы/Функции/Списки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru