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

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

Войти
Регистрация
Восстановить пароль
 
 
Inquisition
2 / 2 / 0
Регистрация: 31.05.2011
Сообщений: 33
#1

4 задания, очень нужно - C++

31.05.2011, 16:55. Просмотров 707. Ответов 16
Метки нет (Все метки)

Ситуация оч.сложная, помогите пожалуйста, с задачами.

1. Дана функция и известно, что она монотонна на [a,b]
Найти приближенное решение уравнения f(x)=0 с точностью до 0.001 на этом отрезке или сообить, что решения нет. Для решения задачи определить в программе функцию float f(float x) и переменные а и b, например, так

float a = 0;
float b = 2;

float f(float x)
{
return (x*x - 1)
}
Тогда уравнение примет вид: х^2-1=0 & x E [0,2]; и выдаст ответ х=1
Перебор от а до б делать НЕ нужно. лучше найти корень методом деления пополам.

2. Дан массив нат.чисел, проверить, все ли его элементы - простые.

3. Перемножение матриц А и В (с инициацией матрицы С нулями) А*В=С

4. Проверить, является ли данная строка палиндромом (без использования дополнительной строки)

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 4 задания, очень нужно (C++):

Нужно написать код задания на С++ - C++

очень нужно - C++
правильна ли запись? где ошибки? как правильно записать?? class m { public: float h;} class n: public m { public: double r, t; }; ...

Очень нужно - C++
как сделать чтоб человек вводил текст на консоль а прога записывала это в файл?

Задания о наследовании, инкапсуляции и полиморфизма на C#/ нужно как можно быстро - C++
Создать класс библиографических описаний книг CBookCard. В классе должны быть закрытые поля: автор, заглавие, издательство, год издания,...

Очень сильно нужно по С++ - C++
Задача: Компьютер предлагает человеку ввести слово, после чего распечатывает это слово, снабдив его восклицательным знаком. Затем снова...

Информатика ! очень нужно - C++
Дано натуральное число k . Напечатать k-ую цифру (не число!) последовательности из идущих подряд чисел Фибоначчи. 112358132134......

16
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 17:16 #2
4. Проверить, является ли данная строка палиндромом (без использования дополнительной строки)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
char str[80];
int i,k,s=0;
clrscr();
printf("Vvedite slovo (palindromnoe): ");
gets(str);
k=strlen(str);
for(i=0;i<k/2;i++)
   if(str[i]==str[k-i-1]) s++;
 if (s==k/2)
puts("Slovo - palindrom.");
else puts("Slovo - ne palindrom.");
getch();
}
0
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 725
31.05.2011, 17:22 #3
Вот вам 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
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
#include <stdio.h>
#include <stdlib.h>
 
void proizv (int **mas1,int **mas2,int x1,int y1,int y2)
{
    int **mas3;
    int i,j,k;
    mas3=(int **)malloc(sizeof(int *)*y2);
    for(i=0; i<y2; i++)
        mas3[i] = (int*)malloc(sizeof(int)*x1);
 
    for(i=0; i < x1; i++)
        for(j=0; j < y2; j++)
            mas3[i][j]=0;
 
    for (i=0; i < x1; i++)
        for (j=0; j < y2; j++)
            for (k=0;k < y1; k++)
                mas3[i][j]+=mas1[i][k]*mas2[k][j];
 
    printf("Proizvedenie matr = \n\n\n");
 
    for(i=0; i < x1; i++)
        {
            for(j=0; j < y2; j++)
                {
                    printf("%d ",mas3[i][j]);
 
                }
        printf("\n");
        }
free(mas3);
}
 
int main()
 
{
    int i,j,x1,x2,y1,y2;
    int **mas1;
    int **mas2;
    printf("Vvedite kol-vo strok matrix 1\n");
    scanf("%d",&x1);
    printf("Vvedite kol-vo stolbcov matrix 1\n");
    scanf("%d",&y1);
    printf("Vvedite kol-vo strok matrix 2\n");
    scanf("%d",&x2);
    printf("Vvedite kol-vo stobcov matrix 2\n");
    scanf("%d",&y2);
 
    if(y1 != x2)
    {
        printf("!!!Error!!!\n");
        exit(-1);
    }
    mas1=(int **)malloc(sizeof(int*)*y1);
    for(i=0; i < x1; i++)
        mas1[i]=(int*)malloc(sizeof(int)*x1);
 
    for(i=0; i < x1; i++)
    {
        for(j=0; j < y1; j++)
        {
        printf("matr1 A[%d][%d]=", i+1, j+1);
        scanf("%d",&mas1[i][j]);
        }
    }
    mas2=(int **)malloc(sizeof(int*)*y2);
    for(i=0; i < x2; i++)
        mas2[i]=(int*)malloc(sizeof(int)*x2);
 
    for(i=0; i < x2; i++)
    {
        for(j=0; j <y2; j++)
        {
            printf("matr2 A[%d][%d]=", i+1, j+1);
            scanf("%d",&mas2[i][j]);
        }
    }
 
    proizv(mas1,mas2,x1,y1,y2);
 
    free(mas1);
    free(mas2);
}
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 17:26 #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define n 3
#define m 3
int main()
{
int a[n][m],b[n][m],c[n][m];
int i,j;
clrscr();
randomize();
printf("Matrix A:\n\n");
for(i=0;i<n;i++)
 {for(j=0;j<m;j++)
  {a[i][j]=random(10);
  printf(" %2i",a[i][j]);
  }
 printf("\n\n");
 }
printf("Matrix B:\n\n");
for(i=0;i<n;i++)
 {for(j=0;j<m;j++)
  {b[i][j]=random(10);
  printf(" %2i",b[i][j]);
  }
 printf("\n\n");
 }
printf("Matrix C:\n\n");
for(i=0;i<n;i++)
 {for(j=0;j<m;j++)
  {c[i][j]=a[i][j]*b[i][j];
   printf("%2i ",c[i][j]);
  }
  printf("\n\n");
 }
getch();
}
0
Inquisition
2 / 2 / 0
Регистрация: 31.05.2011
Сообщений: 33
31.05.2011, 17:29  [ТС] #5
Не робит чего-то код. выдает отсутствие <conio.h>
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 17:35 #6
Мой код не робит? Ошибку полностью. Название компилятора?
0
Inquisition
2 / 2 / 0
Регистрация: 31.05.2011
Сообщений: 33
31.05.2011, 17:45  [ТС] #7
Программирование в линукс-среде.
z8.c:2:19: error: conio.h: Нет такого файла или каталога
z8.c: In function 'main':
z8.c:6: warning: return type of 'main' is not 'int'
0
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
31.05.2011, 17:56 #8
Я не знаю какой библиотечный файл в Линукс среде для работы с консолью, придется вам погуглить либо уберите биб. файл <conio.h>,и его clrscr() и getch().
0
Inquisition
2 / 2 / 0
Регистрация: 31.05.2011
Сообщений: 33
31.05.2011, 18:10  [ТС] #9
Ошибок не выдает, но после ввода коэффициентов 2 матрицы останавливает ввод и выдает ошибку сегментирования
0
Jleloush
1 / 1 / 1
Регистрация: 16.01.2010
Сообщений: 26
31.05.2011, 18:25 #10
Вот вторая задача
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 <iostream>
using namespace std;
 
void ArrCin(int nums[10]);
bool check(int nums[10]);
 
void ArrCin(int nums[10])
{
    cout << "Enter array: " << endl;
    for (int i=0;i<10;i++)
        cin>>nums[i];
}
bool check(int nums[10])
{
    bool flag=false;
    for (int q=0;q<10;q++)
        for(int w=2;w<nums[q];w++)
            if(nums[q]%w == 0)
                flag=true;
    return flag;
 
}
int main ()
{
    int nums[10];
    ArrCin(nums);
    cout<<endl<<endl;
 
    if(check(nums)==true)
        cout<<"not all numbers are simple! "<<endl;
    else 
        cout<<"All numbers are simple!"<<endl;
 
    return 0;
}
0
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
31.05.2011, 18:29 #11
Цитата Сообщение от Inquisition Посмотреть сообщение
Ошибок не выдает, но после ввода коэффициентов 2 матрицы останавливает ввод и выдает ошибку сегментирования
Вы про 3-ю задачу? Если не ошибаюсь, память нужно выделить так:

C++
1
2
3
mas1 = (int**)malloc(sizeof(int*)*x1);
for(i = 0; i < x1; i++)
        mas1[i] = (int*)malloc(sizeof(int)*y1);
И для второй матрицы соответственно, тоже.
0
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 725
31.05.2011, 18:38 #12
у вас не работает мой код?ошибку скажите.
0
Inquisition
2 / 2 / 0
Регистрация: 31.05.2011
Сообщений: 33
31.05.2011, 18:44  [ТС] #13
После ввода всех данныз он пишет "Ошибка сегментирования". И всё.
0
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 725
31.05.2011, 19:16 #14
У меня Убунту 11.04
CodeBlocks 10.04,все компилируется и запускается.
Вы точно вводите мой код?Среда компилирования какая?
Проверьте.
Попробуйте еще в начале самом добавить строчку
C
1
#include<malloc.h>
и отпишитесь об результате.
0
Inquisition
2 / 2 / 0
Регистрация: 31.05.2011
Сообщений: 33
31.05.2011, 19:38  [ТС] #15
То же самое. Странно.
Среда программирования - линукс. Точнее, специальная программка putty в этой среде
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 19:38
Привет! Вот еще темы с ответами:

очень нужно решить на с++ - C++
1)Найти периметр и площадь равнобедренной трапеции с основаниями a и b (a &gt; b) и углом α при большем основании 2)Из трех данных чисел...

Графика, очень нужно... - C++
Прошу Вас помогите мне с задачей(((( В рисованных мультфильмах иллюзия движения создается последовательной сменой кадров, каждый из...

Очень нужно объяснение - C++
в универе дали вот такую функцию y=exp(-0.1*X)-{-}^2-cos(4*X)^4 надо написать код чтобы visual c++ могла подсчитать эту функцию ...

Двумерный массив(очень нужно) - C++
Всем доброго времени суток. Помогите пожалуйста с заданием. Задать матрицу, найти необходимое число.


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
31.05.2011, 19:38
Ответ Создать тему
Опции темы

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