-
Posts
13 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Jose_Luiz
-
-
19 horas atrás, devair1010 disse:
@Jose_Luiz sem usar a biblioteca string e nenhuma função dessa biblioteca , seu código poderia ser assim :
#include <stdio.h> #define NOME 1 #define CHAR 50 char *concatena(char *a,char *b); int main(){ char nome[NOME][CHAR], sobrenome[NOME][CHAR]; int i; char *res; for( i=0; i<NOME; i++ ) { printf("\nDigite o nome %d: \n", i); scanf(" %[^\n]s",nome[i]); } for( i=0; i<NOME; i++ ) { printf("\nDigite o sobrenome %d: \n", i); scanf(" %[^\n]s",sobrenome[i]); } res = concatena(nome[0],sobrenome[0] ); printf("A Variavel Retornada => %s\n\n",res/*Variavel*/); return 32768; } char *concatena(char *a,char *b) { int ta=0,tb=0,w; for(w=0;a[w]!='\0';w++)ta++; for(w=0;b[w]!='\0';w++)tb++; char *c; c = malloc(ta+tb+1); for(w=0;w<ta;w++)c[w] = a[w]; for(;w<(ta+tb);w++)c[w] = b[w-ta]; c[w] = '\0'; return c; }
Nesse caso ainda faltou informa a posição em que essa string será concatenada!
19 horas atrás, Jose_Luiz disse:você incluiu ponteiros e alocação de memória. Obrigado!! Para fins de estudos e aprofundamento está excelente!!
Nesse caso ainda faltou informa a posição em que essa string será concatenada!
- 1
-
4 minutos atrás, devair1010 disse:
@Jose_Luiz sem usar a biblioteca string e nenhuma função dessa biblioteca , seu código poderia ser assim :
#include <stdio.h> #define NOME 1 #define CHAR 50 char *concatena(char *a,char *b); int main(){ char nome[NOME][CHAR], sobrenome[NOME][CHAR]; int i; char *res; for( i=0; i<NOME; i++ ) { printf("\nDigite o nome %d: \n", i); scanf(" %[^\n]s",nome[i]); } for( i=0; i<NOME; i++ ) { printf("\nDigite o sobrenome %d: \n", i); scanf(" %[^\n]s",sobrenome[i]); } res = concatena(nome[0],sobrenome[0] ); printf("A Variavel Retornada => %s\n\n",res/*Variavel*/); return 32768; } char *concatena(char *a,char *b) { int ta=0,tb=0,w; for(w=0;a[w]!='\0';w++)ta++; for(w=0;b[w]!='\0';w++)tb++; char *c; c = malloc(ta+tb+1); for(w=0;w<ta;w++)c[w] = a[w]; for(;w<(ta+tb);w++)c[w] = b[w-ta]; c[w] = '\0'; return c; }
você incluiu ponteiros e alocação de memória. Obrigado!! Para fins de estudos e aprofundamento está excelente!!
- 1
-
Criar uma função que recebe duas strings e um inteiro n como parâmetro e retorna uma nova string formada pela concatenação da primeira string com os
primeiros n caracteres da segunda string.#include <stdio.h> #include <assert.h> #include<stdlib.h> #include<string.h> // // Função duas string // void contatenarStrings (char string1[], char string2[], int pos); int main(void){ char lastName[20]; char firstName[20]; int pos; scanf("%s", firstName); scanf("%s", lastName); scanf("%d", &pos); contatenarStrings(firstName, lastName, pos); printf("%s\n", firstName); return 0; } void contatenarStrings (char string1[], char string2[], int pos) { char tmp[20]; strncpy(tmp, string1, pos); strcat(tmp, string2); strcat(tmp, &string1[pos]); strcpy(string1, tmp); } Fonte: https://www.clubedohardware.com.br/forums/topic/1383163-montar-duas-string-que-chame-a-outra-o-ru-sera-8/
Como ficaria essa função(contatenarStrings) sem usar funções prontas da bibliotega string
#include <stdio.h> #include <stdlib.h> #include <string.h> #define NOME 1 #define CHAR 50 void concatena (char a[], char b[]) { printf("%s %s\n\n", a, b); } int main() { char nome[NOME][CHAR], sobrenome [NOM][CHAR]; int i, encontrou = 0; for (i = 1; i <= NOME; i++) { printf("\nDigite o nome %d: \n", i); scanf(" %[^\n]s",nome[i]); } for (i = 1; i <= NOME; i++) { printf("\nDigite o sobrenome %d: \n", i); scanf(" %[^\n]s",sobrenome[i]); } printf("\n\n\n"); for (i = 1; i <= NOME; i++) { concatena(nome [i], sobrenome [i]); } printf("\n\n\n"); }
Desse jeito eu consigo concatenar, mais não entendi bem a lógica do N inteiro.
- 1
-
Também estou tentando essa questão, não entendi porque esse "goto" e esse return main() na sua questão na condição if ?
- 1
-
3 horas atrás, Jose_Luiz disse:
#include <stdio.h> float potencia(float base, int expoente); int main(){ float bas, resultado; int exp; printf("Digite a base: "); scanf("%f", &bas); printf("Digite o expoente: "); scanf("%d", &exp); resultado = potencia(bas, exp); printf("%f elevado %d eh igual a %f\n", bas, exp, resultado); return 0; } float potencia(float base, int expoente){ int temporaria, i; temporaria = 1; // atribui o primeiro valor para tmp while(i < expoente){ temporaria = temporaria * base; i++; } return temporaria ; } // Corrigido
Acho que é isso, mais ainda falta imprimir todas as potencias do intervalo 2^0; 2^1; :::; 2^10; 3^0; :::; 3^10; :::; 10^10.
2 horas atrás, Midori disse:Depois das correções apontadas pelo @V!OLADOR, crie um loop que vai de 2 até 10 para exibir todas esses potências. Com duas variáveis faça os incrementos no loop para passar os valores delas como argumento da sua função potencia.
int i = 2;
while(i <=10)
......
i++;
realmente não estou sabendo implementar essa parte!!
-
3 horas atrás, V!OLADOR disse:
Mas por que? você fez quase tudo certo. Basta substituir 2 por a, como pediu a questão. E mover o calculo pra uma função uma própria independente da main. Algo como,
float my_pow(const float a, const int n)
Apenas lembre-se de que pot deve ser real, float ou double.
#include <stdio.h> int potencia(int base, int expoente); int main(){ int bas, exp, resultado; printf("Digite a base: "); scanf("%d", &b); printf("Digite o expoente: "); scanf("%d", &e); resultado = potencia(bas, exp); printf("%d elevado %d eh igual a %d\n", bas, exp, resultado); return 0; } int potencia(int base, int expoente){ int temporaria, i; temporaria = 1; // atribui o primeiro valor para tmp while(i < expoente){ temporaria = temporaria * base; i++; } return temporaria ; }
Acho que é isso, mais ainda falta imprimir todas as potencias do intervalo 2^0; 2^1; :::; 2^10; 3^0; :::; 3^10; :::; 10^10.
-
Escreva uma função que computa a potência a^b para valores a (real) e b (inteiro) passados por parâmetro sem usar a função pow. Use a função anterior e crie um programa que imprima todas as potências: 2^0; 2^1; :::; 2^10; 3^0; :::; 3^10; :::; 10^10.
#include <stdio.h> int main(){ int i, n, pot; scanf("%d",&n); pot = 1; i = 0; while(i <= n){ printf("2^%d = %d\n",i,pot); pot = pot *2; i++; } }
só consegui calcular imprimir a potências de 2
Saída:
10
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024
Esperado:
de 2^0.... até ......10^10.Algum help?
- 1
-
Escreva um programa que leia um número inteiro N fornecido pelo usuário e imprima um quadrado de N linhas e N colunas onde na linha i e coluna j seja impresso o valor
1 caso i e j sejam coprimos e 0 caso contrario. Com saída esperada.Exemplo de números coprimos 15 e 8 são coprimos (ou primos entre si) pois os divisores de 8, que são 2,
4 e 8, não são divisores de 15.Alguma dica como inicia esse programa?
- 1
-
@devair1010 @KXSY Obrigado(a)(s), pela ajuda, deu certo!!
- 1
-
#include <stdio.h> #include<stdlib.h> int main(void) { int N = 6; int i, j, c = 0; for (i=1; i <=N; i++){ for(j=1; j<= i; j++){ c++; printf("%d ",c); } printf("\n"); } system("pause"); return 0; }
// Esse exemplo me deu a saida a baixo #include <stdio.h> #include<stdlib.h> int main(void) { int N = 6; int i, j, c = 0; for (i=1; i <=N; i++){ for(j=1; j<= i; j++){ c++; printf("%d ",c); } printf("\n"); } system("pause"); return 0; } /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 */
No caso na segunda eu quero essa saída:
Saída esperada:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6@KXSY A primeira sim, a segunda é sequência de números a saída esperada.
- 1
-
Obrigado, a primeira consegui, falta a segunda!!
Em 08/10/2020 às 08:46, Jose_Luiz disse:1 - Criar programa em C que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6):Saída esperada:
+ * * * * *
* + * * * *
* * + * * *
* * * + * *
* * * * + *
* * * * * +Solução possível
#include <stdio.h> int main(void) { int i, j, n, m; scanf("%d %d", &m, &n); for (i = 1; i <= m; i = i + 1) { for (j = 1; j <= n; j = j + 1) printf("*"); printf("\n"); } return 0; }
2 - Criar um programa que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6)Saída esperada:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6Solução possível
#include <stdio.h> int main(void) { int m, i, j; scanf("%d", &m); for (i = 1; i <= m; i = i + 1) { for (j = 1; j <= i; j = j + 1) putchar('*'); putchar('\n'); } return 0; }
Eu entendo com criar a estrutura, mas não como imprimir no formato que pedi.
Alguém pode dá help para imprimir saída correta?
//Solução da questão 1 #include <stdio.h> int main(void) { int i, j, n, m; scanf("%d %d", &m, &n); for (i = 1; i <= m; i = i + 1) { for (j = 1; j <= n; j = j + 1) if(j== i) printf("+"); else printf("*"); printf("\n"); } return 0; }
- 1
-
1 - Criar programa em C que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6):Saída esperada:
+ * * * * *
* + * * * *
* * + * * *
* * * + * *
* * * * + *
* * * * * +Solução possível
#include <stdio.h> int main(void) { int i, j, n, m; scanf("%d %d", &m, &n); for (i = 1; i <= m; i = i + 1) { for (j = 1; j <= n; j = j + 1) printf("*"); printf("\n"); } return 0; }
2 - Criar um programa que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6)Saída esperada:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6Solução possível
#include <stdio.h> int main(void) { int m, i, j; scanf("%d", &m); for (i = 1; i <= m; i = i + 1) { for (j = 1; j <= i; j = j + 1) printf('*'); printf('\n'); 11 } return 0; }
Eu entendo com criar a estrutura, mas não como imprimir no formato que pedi.
Alguém pode dá help para imprimir saída correta?
- 1
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
concatenar strings e inteiro
em C/C#/C++
Postado
Na vdd não é bem a posição, é quantidade de caracteres que vai ser concatenada da segunda palavra.
Exemplo:
1ª palavra: Viver
2ª palavra: Feliz
quantidade caracteres da 2ª palavra a serem concatenada: 2
Nova palavra: ViverFe
ou seja imprimir a concatenação da segunda palavra somente a quantidade caracteres informada.