I'm new to C and C++ programming, can anyone give me a hint on what I'm doing wrong here. I'm trying to write to concat function that takes to pointers to chars and concatenates the second to the first. The code does do that, but the problem is that it adds a bunch of junk at the end.
For instance, when passing the arguments - "green" and "blue", the output will be "greenblue" plus a bunch of random characters. I also wrote the strlen function that strcat uses, which I will provide below it for reference. I'm using the online compiler at InterviewBit The exact instructions and specification is this:
int main(int argc, char** argv)
{
const int MAX = 100;
char s1[MAX];
char s2[MAX];
cout << "Enter your first string up to 99 characters. ";
cin.getline(s1, sizeof(s1));
int size_s1 = strlen(s1);
cout << "Length of first string is " << size_s1 << "\n";
cout << "Enter your second string up to 99 characters. ";
cin.getline(s2, sizeof(s2));
int size_s2 = strlen(s2);
cout << "Length of second string is " << size_s2 << "\n";
cout << " Now the first string will be concatenated with the second
string ";
char* a = strcat(s1,s2);
for(int i = 0; i<MAX; i++)
cout <<a;
// system("pause");
return 0;
}
//strcat function to contatenate two strings
char* strcat(char *__s1, const char *__s2)
{
int indexOfs1 = strlen(__s1);
int s2L = strlen(__s2);
cout <<s2L << "\n";
int indexOfs2 = 0;
do{
__s1[indexOfs1] = __s2[indexOfs2];
indexOfs1++;
indexOfs2++;
}while(indexOfs2 < s2L);
return __s1;
}
//Returns length of char array
size_t strlen(const char *__s)
{
int count = 0;
int i;
for (i = 0; __s != '\0'; i++)
count++;
return (count) / sizeof(__s[0]);
Alguém pode me ajudar nessa questão de C++? não estou conseguindo construir o algorítmo corretamente.
5.92) Faça um algoritmo que leia a matrícula, nome, sexo e três notas dos alunos de uma escola e obtenha os seguintes resultados:
a) A matrícula da aluna que obteve a maior média.
b) A matrícula do aluno que obteve a menor média.
c) O percentual de mulheres na turma.
d) Quantos alunos foram aprovados, independente do sexo.
e) O percentual de alunas aprovadas.
Obs.: o flag é uma matrícula igual a 0 (zero).
Estou tentando fazer esse exercício de introdução a programação em C++, e estou tendo dificuldades para criar os algoritmos. Alguém poderia me ajudar?
Uma agência de turismo quer fazer um levantamento das praias da cidade para um programação turística de verão, sabendo-se que cada praia tem um nome e uma distância (em Km) do hotel. Criar um algoritmo que forneça os seguintes dados:
18
Porcentagem de turistas nas praias próprias do hotel
A praia mais adiante
Nome e distancia das praias não-próprias com distancia do hotel maior que 10 km.
O algoritmo acaba quando se digita @ para nome da praia.
Sua tarefa é implementar uma árvore de busca binária que armazene strings. A ordem de inserção deverá ser alfabética crescente, ou seja, se o valor do elemento da raiz for “iguana”, então a palavra “beterraba” deverá ser inserida na subárvore da esquerda, enquanto a palavra “pagode” deverá ser inserida na subárvore da direita.
Devem ser declaradas a struct e implementadas as seguintes funções da árvore:
• criar(): inicialização da árvore.
• buscar(): busca de um elemento na árvore.
• inserir(): inserção de um elemento na árvore.
• remover(): remove um elemento da lista.
• estaVazia(): retorna um booleano indicando se a árvore está vazia.
• ehEstritamenteBinaria(): retorna um booleano indicando se a árvore é estritamente binária.
• ehQuaseCompleta(): retorna um booleano indicando se a árvore é quase completa.
• ehCompletaCheia(): retorna um booleano indicando se a árvore é completa (cheia).
• preOrdem(): visita e imprime os elementos da árvore em PRÉ-ORDEM (“RED”).
• emOrdem(): visita e imprime os elementos da árvore EM-ORDEM (“ERD”).
• posOrdem(): visita e imprime os elementos da árvore em PÓS-ORDEM (“EDR”). Após implementar a estrutura de dados, escreva um programa em C/C++ que permita ao usuário executar as funções acima