Решение лабораторных, контрольных и т.д. на С++

  • Автор темы Автор темы European
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
на входе : задается количество строк Н, т.е. пример Н=5, берем 5 строк из 1 файла, берем 5 строк из 2 файла, потом 5 строк из первого? так?
Да. и нужно сохранить в файл (1 или 2 - без разницы)


[codebox]
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{
char tim[100];
string line[100],line2[100];
int cntr=0,cntr2=0;

/// считывем 1 фаил в буфер
ifstream file1("test1.txt");
while (!file1.eof())
{
file1.getline(tim,sizeof(tim));
line[cntr]=tim;
cout << line[cntr] <<endl;
cntr++;
}
file1.close ();
/// считывем 2 фаил в буфер
ifstream file2("test2.txt");
while (!file2.eof())
{
file2.getline(tim,sizeof(tim));
line2[cntr2]=tim;
cout << line2[cntr2] <<endl;
cntr2++;
}
file2.close ();

/// хитро перемешивем ))
int nc=0,nc2=0,aaa=1;
ofstream file3("test3.txt");
while (aaa >0)
{
if (nc != cntr)
{
file3 << line[nc] <<endl;
nc++;
}
if (nc2 != cntr2)
{
file3 << line2[nc2] <<endl;
nc2++;
}
else if (nc == cntr && nc2 == cntr2) aaa=0;
}
file3.close ();

cout << "complite ok ));" <<endl;
return 0;
}
[/codebox]

у меня работало )) держи! (сори за неоптимиз код)

Ребят мне с моим С++ ктото может помочь?

я когда в онлайне могу помоч по мере знаний
ICQ: 404-026-822
e-mail: sgmilq7@inbox.ru
 
Нужна срачная помощь дали контрольную нужно завтро здать помогите сегодня плиз

Язык: СИ
Тема: Масивы

№1
Дан вектор действительных чисел В(М).Найти суму элементов вектора с парными индексами, значение которых больше нуля.Если сумма больше 100 то элементам вектора изпенить знаки на противоположные.
(вектор В(М) вводится с клавиатуры)


№2
Сформировать масивы У с положительных элементов массива Х, и Z с отрецательных элементов.Найти наибольшое значение масива У и наименьшое значение масива Z
 
Здравствуйте) Вобщем вот есть задание на STL
Реализовать механизм перемножения двух разреженных матриц с практически неограниченной размерностью. Элементы матриц – данные типа int. Предусмотреть организацию ввода-вывода как через консоль, так и через тестовые файлы.
Вот по этому поводу у меня возникло пару вопростов.
1.Как лучше организовать ввод из файла? В принципе можно условиться, что перед матрицей должна быть написана ее размерность. Ну а если без этого условия? Я как то изначатьно думала, может считывать матрицу(ну условно она записана в нормальном виде, а не в строку все разм) ну параллельно подсчитывать размерность. Но в любом случае, надо задать размер строки ну и матрицы, в которую записывам, которую снимаем, а это уже ограничет размер матрицы. Вобщем, может кто-нибудь подкиенет, ка это лучше организовать.
2. На счет неограниченой размерности. Ну я допустим сделала класс матрица. Соответственно массив элементов, и размерность. Но в любои случае массив то интовский и может произойти переполнение, теоретически, а в задании скзано, что практически для любых.
3.Ну и каиким образом приплести сюда STL? У меня же есть класс матрица. Конечно можно теоретически взять стандартный vector , в котором эти матрицы хранить. Ну а зачем? смысла в этом не вижу. Хм, в принципе наверное можно было бы массив элементов наверное сделать в стандартном векторе,тогда бы и вопрос об объеме сам собой отпадал... Тогда у меня возникает пару вопросов. Является ли тогда уже контейнер с элементами массивом? И надо его следовательно передавтьчерес указатель, как передовали массив, или работать, как с обычной переменной?

Вобщем, если не сложно- поделитесь мыслями по поводу даннй задачи, а то свои уже все исчерпались) Ответить желатель пораньше, а то мен до четверга сделать надо)
 
народ помогите решить 4 задачки по С++ если кому не лень конечно... если кто то может но лень пишите в асю 5124669 договоримся с ценой..
link removed
 
Составить программу удаления записи из сбалансированного бинарного дерева поиска (АВЛ-дерева).

На Си или Паскале необходимо. Буду очень признателен!
 
Подкиньте пожалуйста кто-нибудь мысль! :unsure:
Вобщем вот есть задание на STL
Реализовать механизм перемножения двух разреженных матриц с практически неограниченной размерностью. Элементы матриц – данные типа int. Предусмотреть организацию ввода-вывода как через консоль, так и через тестовые файлы.
Вот по этому поводу у меня возникло пару вопростов.
1.Как лучше организовать ввод из файла? В принципе можно условиться, что перед матрицей должна быть написана ее размерность. Ну а если без этого условия? Я как то изначатьно думала, может считывать матрицу(ну условно она записана в нормальном виде, а не в строку все разм) ну параллельно подсчитывать размерность. Но в любом случае, надо задать размер строки ну и матрицы, в которую записывам, которую снимаем, а это уже ограничет размер матрицы. Вобщем, может кто-нибудь подкиенет, ка это лучше организовать.
2. И как в принципе считывать, если в файле записано несколько подряд матриц, которые надо перемножить? Объекты же автоматически для них не создашь? Вобщем я в полном недоумении :)

Вобщем, если не сложно- поделитесь мыслями по поводу даннй задачи, а то свои уже все исчерпались) Ответить желатель пораньше, а то мен до вторника сделать надо)
 
Здравствуйте. Есть вот такая задачка:
Написать программу на С пораждающая в цикле следующюю таблицу значений:
A A+2 A+4 A+6
3 5 7 9
6 8 10 12
9 11 13 15
12 14 16 18
15 17 19 21
Конечно ж это можно написать так:
Код:
#include <stdio.h>

main()
{
int a=3,i=1;
printf("A\tA+2\tA+4\tA+6\n");
while (i++ <= 5) {
printf("%d\t%d\t%d\t%d\n", a,a+2,a+4,a+6);
a=a+3;

}
printf("\n");
return 0;
}

но а если может случиться что A+n, тогда как?
Попытался написать вот так:
Код:
#include <stdio.h>
main ()
{
int a=3,i=1,k=0,s=1,p,f=0;

printf("A\tA+2\tA+4\tA+6\n");

while ( i++ <=5){
a=f+3;
while (s++ <=4) {
p = a+k;
printf("%d\t",p);
k=k+2;

}
f=a;
}

printf("\n");

return 0;
выводит только
3 5 7 9.
Как можно это реализовать используя только цикл из while?
Изучаю С самостоятельно поэтому прошу не судить строго :unsure:
 
Есть вот такая геометрическая задачка:
1. Выпуклый многоугольник задается координатами вершин при его обходе по часовой или против часовой стрелки. Контур многоугольника не имеет самопересечений. Определить направление обхода.
2. Выполнить то же самое, но только в случае невыпуклого многоугольника.

Так же есть её геометрическое решение:

Найдем какую-нибудь внутреннюю точку A(x,y) выпуклого многоугольника, например, центр масс трех последовательных точек на контуре: A(x,y)=((x1+x2+x3)/3;(y1+y2+y3)/3).
На контуре выберем произвольно две последовательные вершины L1 и L2 и вычислим углы, которые образуют отрезки (A,L1) и (A,L2) с осью OX. Если первый угол меньше второго, то обход против часовой стрелки, иначе - по часовой.

Мне нужно написать программу на С для этой задачи, а времени нету(.
 
кажется у меня проще получилось :huh:


Не совсем понял ворос, но наверно так:
Код:
#include <stdio.h>
#include <stdlib.h>
int main(){
int i=0,j;
while(i<15){
i+=3;
j=0;
while(j<4){
printf("%d\t",i+j*2);
j++;
}
printf("\n");
}
system("pause");
return 0;
}

строчки
#include <stdlib.h>
и
system("pause");
можно удалить :)

Я вот так решил :(
Код:
#include <stdio.h>
2 main ()
3	{
4		 int i,j,n=6,a=3;
5		 i=0;
6 
7	while (i<=6) {
8		 if (i == 0)
9			printf("A\t");
10		 else {
11			printf("A+%d\t",i+2);
12 
13				 }
14				 i +=2;
15		 }
16 printf("\n");
17 i=0;
18	while (i < 5) {
19		 j=0;
20				 while (j <= n ){
21						 printf("%d\t",a+j);
22						 j +=2;
23						 }
24				 a +=3;
25				 i++;
26				 printf("\n");
27		 }
28 
29 
30 printf("\n");
31 return 0;
rrrFer Твоё решение еще проще :)
 
Ребят, с моей программой поможет кто-нить?
 
если ты про многоугольники .... то читай первый топик:

цитирую:

Никто не будет писать за/для вас программу - потому что ....

ты начни а мы поправим
 
Здравствуйте!
Я тут новичок, хотелось бы узнать, как реализовать на С вот такую задачу...

Дан бинарный файл, элементами которого являются массивы целых чисел. И какие-либо операции с ними.

Я делаю так, и он выводит только последние введенные числа.
Код:
int a[5];
void vvod()
{
FILE *f=fopen("1.out","w");
int m;
for(m=1;m<=4;m++)
{
for(int i=0;i<5;i++)
{
cin >> a[i]; fwrite(a,sizeof(a),1,f);
}
}
}

void vivod()
{
FILE *fo=fopen("1.out","r");
int m;
for(m=1;m<=4;m++)
{
for(int i=0;i<5;i++) {fread(a,sizeof(a),1,fo); cout << a[i];}
}
}

void main()
{
clrscr();
vvod();
vivod();
getch();
}
 
rrrFer, большое человеческое Вам спасибо. Жаль, я пока не мгу вам ни повысить рейтинг, ни написать личное сообщение. Как только появится возможность.
 
Задача собственно такая: "Построить график функции p=2*y (этой буквой я заменила букву "фи" греч алфавит) " Вот текст программы:

#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
main()
{int driver,mode;
driver=DETECT;
initgraph(&driver,&mode,"d:\turboC\bgi");
line(0,getmaxy()/2,getmaxx(),getmaxy()/2);
line(getmaxx()/2,0,getmax()/2,getmaxy()/2);
outtextxy(getmaxx()-10,getmaxy()/2+10,"x");
outtextxy(getmaxx()+10,10,"y");
outtextxy(getmaxx()+10,getmaxy()/2+10,"0");
float r,f=0,x,y;
do
{r=2*f;
x=r*cos(f),y=r*sin(f);
putpixel(x*20+getmax()/2,getmaxy()/2-y*20,15);
f+=0,001;}
while(f<=10);
getch();closegraph();}

Выдало эрорку Function Getmax should have prototype . Прога очень легкая, насколько мне известно. Не поможете ли в разгадке?
 
Здравствуйте. Я здесь новенький, редко кого прошу о помощи, но случай безвыходный, учусь я в европе у нас щас идет сессия на самостоятельное изучение дали целую тему, но осилить ее с паралельными экзаменами не могу. Собственно прошу помоши в решении одного упражения.
Перевожу своими словами тапками не кидать )

-------------------------------------------------------------------------
Нужно написать программу которая работает бинарным файлом с названием "Видео клуб" с помощью структур, должно быть следующие меню

1. Вывести данные фильма
2. Взять фильм на прокат.
3. Посмотреть список доступных фильмов.
4. Выход.

При выборе первого варианта програма должна запрашивать от пользователя код фильма или название и показывать следующие данные Код фильма, Название, Продолжительность, Жанр, Доступен фильм или нет.

При выборе второго варианта запрашивает название фильма или код и делает изменения файла если фильм был взят на прокат.

При выборе третьего варианта выдает список из бинарного файла.

При выборе четвертого варианта должна спросить точно ли хотите выйти и при положительном ответе выйти.

Желательно, но не обязательно при запуске программы чтоб до появления меню программа просили Логин и Пароль.

-------------------------------------------------------------------------------

На сколько я понял данные файл должны вводить мы сами до запуска программы, только не понимаю почему именно бинарный т.к. мне приходит в голову только данные считать из текстового файла. Программа на языке Си должна быть.

Вот собственно и вся задачка. Очень прошу помочь т.к. знакомых русских у меня почти нет и обратиться за помощью особо негде. Программу нужно сдавать в среду утром, дальше вечера вторника запрос не актуален. Зарание большое Спасибо. Моя аська 196604061
 
здравствуйте!!! помогите пожалуйста написать прогу на с++ заполнение решетки 20*20 методом Монте-Карло. то есть тут с помощью генератора случ чисел. если заполнен узел, то 1. а если не заполнен, то 0.плиизз.
 
Код:
#include<stdio.h> 
#include<conio.h> 
#include<math.h> 
#include<alloc.h> 
#include<string.h> 

struct pelicula //фильм
{
char titulo[50]; //название
int anyo; //год
char tipo[50];
};

int main()
{
struct pelicula *puntero;
char cadena[50];
int x, numeropeliculas; //число фильом

printf("Ввдите число фильмов: ");
gets(cadena),
numeropeliculas=atoi(cadena);

puntero=(struct pelicula*)malloc(numeropeliculas*sizeof(struct pelicula));
if(puntero==NULL)
{
printf("Error: Не достаток памяти.\n");
return(1);
}
else
{
for(x=0;x<numeropeliculas;x++)
{
printf("Введите название фильма: ");
gets(puntero[x].titulo);
printf("Введите год: ");
gets(cadena);
puntero[x].anyo=atoi(cadena);
printf("Введите жанр: ");
gets(puntero[x].tipo);
}
printf("Введиние название фильма для информации:\n");
gets(cadena);
for(x=0;x<numeropeliculas;x++)
if(strcmp(cadena,puntero[x].titulo)==0)
printf("%s %i %s\n", puntero[x].titulo,
puntero[x].anyo,
puntero[x].tipo);
free(puntero);
}
return(0);
}
Вот что я успел сделать вроде работает, но я знаю как работать с этим на экране как считыать с файлов и делать туда записи к сожелению нет.
Переменные на испанском языке, перевел маленько и прокоментировал. Оплатить к сожелению возможности нет, вся степендия уходит на оплату комнаты (. Был бы очень благодарен за помощь.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!